2011-08-30 15 views
4

新しいレガシーアプリケーションでは、最新のSpringフレームワーク3.xをHibernate 3.xで使用する必要があります。以前は、XML構成のSpring IoCを使用しました。今、私はアノテーションベースのIoCに行きたいと思っています。spring 3 annotation dependency injection

以下のリンクからrose indiaは、xmlファイルを使用しないで使用する注釈を示しています。 rose india

が、私は別のサイトに実装するためのいくつかの他の方法を発見した: blog

私は最新の技術でIOCを実装するためにどの方法ここでは混乱しています。 サンプルについては、適切なサイトを参照してください。また、IoCのサンプルコードを注釈と共有してください。

EDIT:アノテーション設定/>:

スプリング参考文献3.xの注釈<文脈で@ConfigurationまたはXML構成、すなわちを使用すると言います。どちらを使うのが良いですか?どうして?

+4

はバラを無視しますインドのもの。それは絶対にひどいです。 – skaffman

+0

ここで操作例を維持しています。http://tshikatshikaaa.blogspot.nl/2012/08/spring-ioc-container-with-annotations.html – JVerstry

答えて

2

で始まることをお勧めします。 xml構成を使用したDependency Injectionについて既に理解している場合は、Section 3.9 Annotation-based container configurationのSpringの注釈サポートをご覧ください。そこには、始めるのを助けるための詳細がたくさんあるはずです。

ウェブアプリケーションではなく、自分でApplicationContextをロードする必要がある場合は、Section 3.11 Java-based container configurationをご覧ください。このセクションでは、xml構成でApplicationContextを作成する方法について詳しく説明します。

私はApplicationContext内豆を定義するための@Componentアノテーションで配線のための@Autowiredのアノテーションを使用することをお勧めして、すべての注釈付きのコンポーネントを見つけるためにAnnotationConfigApplicationContextによって提供さscan(String)メソッドを使用します。

public static void main(String[] args) { 
    AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); 
    ctx.scan("your.package.here"); 
    ctx.refresh(); 
    MyService myService = ctx.getBean(MyService.class); 
    //use myService 
} 
+0

新しいAnnotationConfigApplicationContext()を使用する必要がありますか。 XMLファイルをロードするには? XMLファイルではBean宣言だけで十分ですか? – TechFind

+0

私はいくつかの追加情報で私の答えを更新しました。 –

+0

ok、私の文脈ではxmlファイルでIoCのbean idとそのプロパティを指定する必要がありますか? – TechFind

1

私は追加して行くのをお勧め:<context:annotation-config />をxmlコンテキストファイルに追加して、アノテーションを読み込ませます。次に、<context:component-scan base-package="my.package" />を使用して、注釈付きクラスをすべてインポートします。これはコードが全く必要なく、信じられないほどきれいです。また、xmlファイルのスキャンにインクルード/除外フィルタを追加することもできます。

次に、クラスで使用する注釈を使用してください。 @Component( "mycomponentbean")のように後で参照するためのIDを付与するように注釈構造を確認してください。ここで

関連する問題