春は豆は、二つの部分に1登録されているビーン、アセンブリ豆を分割され管理されます。
これら二つのアクションの後、3つの方法がありますが、一つの方法は、1つの方法を使用するJavaConfigの方法XML構成を使用することで、自動設定を使用することです。
容器内にインスタンス化さ普通のスプリングPOJOを@Component
@Beanの構成は、クラス@Configurationに注釈を追加すること、すなわち、必要性、クラスを使用する必要があります
両方の自動組立@Autowiredコメントを介してアクセスすることができます
最後に@Compentと@Bean何それとの違いは?
あなたのアプリケーションに当てはめ、サードパーティのライブラリコンポーネントをしたい場合は、アプリケーション開発の過程では、この場合には、そこにそのクラスに注釈@Componentと@Autowiredを追加する方法はありませんので、することはできません自動化されたアセンブリプログラムの使用。
しかし、XMLを使用して設定または@Configuration中カテゴリ@Beanで配置することができます
管理クラスを説明するため、一般的なノートを表すために@Componentするコンテナクラススプリング(普通点をスローするようにスプリングIOCコンテナを再インスタンス化される)です。
より広い範囲の@Component、すべてのクラスが注釈を付けることができます。
@Configuration注意事項一般的な注意事項は、クラスのプライマリおよび@Configurationの使用とビーン@、メンバ変数やメソッド@Bean注釈が注釈付き@value
コントローラ、@サービス、@Repository @だと思います@Componentノートをいえば
@Component(設定ファイル<ビーンID =「」クラス=「」/>に対応するばね容器内にインスタンス化さ共通POJO)
層を制御するためのラベリングアセンブリ@Controller
ビジネス層コンポーネントの@Serviceラベル
注釈データ・アクセス・コンポーネントの@Repository
@コントローラー、@サービスによって、@Repository 3つの注釈付きソースコードを見ることができます
サービス、@Repository @ @コントローラー、実際に@Componentが含まれています
これら3つの制御層、サービス層、永続層クラスに対応@Componentセマンティクス、以上で注釈します。
簡単な例を取るために、
SSMとの統合を設定する場合、通常、弊社ではこの設定が好き
春-application.xmlの中
<コンテキスト:コンポーネント・スキャンベース-のパッケージ =「com.esummer」>
<! - 注釈ノートをスキャンするとき@Controllerは無視しました - >
<コンテキスト:除外するフィルタタイプ=「注釈」という表現=「org.springframework.stereotype.Controller」/>
</コンテキスト:コンポーネント・スキャン>
春-mvc.xmlで
<コンテキスト:コンポーネント・スキャンベース-のパッケージ =「com.esummer」>
<! - スキャンのみ@Controllerコメント - >
<コンテキスト:含めるフィルタタイプ=「注釈」という表現=「org.springframework.stereotype.Controller」/>
</コンテキスト:コンポーネント・スキャン>