2011-08-05 2 views
0

JAXRSを使用して注釈を使用してRestletリソースをマップするアプリケーションがあります。しかし、私が持っている唯一のエントリポイントは、本質的に、アプリケーション構成内のリソースクラスのリストを定義することです。これらのクラスはRestletまたはJAXRSによってインスタンス化されているので、私はApplicationContextに入れることはできません。 Springがクラスパスをスキャンし、必要に応じて新しいインスタンスをautowireする方法はありますか?私はすでに以下のようなものを使ってみました:ApplicationContextの外部で作成された依存関係を自動配線することは可能ですか?

@Autowired 
private SessionFactory sessionFactory; 

残念ながら、実際には動作しません。私がここで話していることをする方法はありますか?

+0

? – Rachel

+0

私はあなたの質問に答えた後、私は自分自身を正しく読んだのですか?私はちょっと明確にするために、Restletによってインスタンス化されたクラスに物を注入しようとしていますか、それらのクラスをApplicationContextのクラスに注入しようとしていますか? – palto

+0

私は自分のコントロールの外に作成された依存関係_into_クラスをautowireしようとしています。 –

答えて

4

AspectJを使用して、コントロールから作成されたBeanを依存関係に挿入することも、newを使用してオブジェクトを作成することもできます。 http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/aop.html#aop-using-aspectj

基本的には、@Configurableアノテーションを注入の対象にするクラスに追加するだけです。また、Spring XMLで使用することでSpringで有効にする必要があります。最後に、コンパイル時のウィービングとランタイムウィービングのどちらかを決める必要があります。ここでも春のドキュメンテーションの助けを得ることができます。

ロード時の織り:あなたはMavenを使用する場合はhttp://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/aop.html#aop-aj-ltw

あなたはコンパイル時にAspectJを設定するため、このStackOverflowの質問を確認することができます:あなたは、あなたのクラスパスに何を持っているんWhy doesn't AspectJ compile-time weaving of Spring's @Configurable work?

+0

これは私のために働いたが、少しの設定が必要でした。 –

4

ApplicationContext.getAutowireCapableBeanFactory().autowireBean(object)はすべての依存関係をオブジェクトに挿入します。

関連する問題