この記事では、誰でもクエリや使用を容易にするために Spring で一般的に使用されるアノテーションを次のように要約します。
注釈を使用する前に、自動スキャン機能をオンにしてください
このうち、base-package はスキャンする必要があるパッケージ (サブパッケージを含む) です。
<context:component-scan base-package="cn.test"/>
@Configuration はクラスを IoC コンテナとして扱います。@Bean がそのメソッド ヘッダーの 1 つに登録されている場合、そのクラスは Spring コンテナ内の Bean として使用されます。
@Scope アノテーションのスコープ
@Lazy(true) は遅延初期化を示します
@Service はビジネス層コンポーネントに注釈を付けるために使用されます。
@Controller は、コントロール層コンポーネント (Struts のアクションなど) に注釈を付けるために使用されます。
@Repository は、データ アクセス コンポーネント、つまり DAO コンポーネントに注釈を付けるために使用されます。
@Component は一般にコンポーネントを指します。コンポーネントの分類が難しい場合は、このアノテーションを使用してコンポーネントに注釈を付けることができます。
@Scope はスコープを指定するために使用されます (クラスで使用されます)
@PostConstruct は初期化メソッドを指定するために使用されます (メソッドで使用されます)。
@PreDestory は、破棄メソッドを指定するために使用されます (メソッドで使用されます)。
@DependsOn: Beanの初期化と破棄の順序を定義します。
@Primary: 自動アセンブリ中に複数の Bean 候補が表示された場合、@Primary アノテーションが付けられた Bean が最初の選択肢となります。それ以外の場合は例外がスローされます。
@Autowired はデフォルトで型によってアセンブルされます。名前によってアセンブリを使用したい場合は、@Qualifier アノテーションと組み合わせて使用できます。次のように:
@Autowired @Qualifier("personDaoBean") は複数のインスタンスを一緒に使用して存在します
@Resource はデフォルトで名前によってアセンブルされます。名前に一致する Bean が見つからない場合は、タイプによってアセンブルされます。
@PostConstruct 初期化アノテーション
@PreDestroy は、デフォルトでシングルトンの開始時にアノテーションを破棄し、ロードします。
@Async 非同期メソッド呼び出しの場合は、次のコードを追加する必要があります。
<bean id="taskExecutor"><property name="corePoolSize" value="10"/><property name="maxPoolSize" value="300"/></bean><task:annotation-driven/>
この記事が皆様のお役に立てれば幸いです。