@Bean春と@Component違い

春は豆は、二つの部分に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」/>
</コンテキスト:コンポーネント・スキャン>

 

おすすめ

転載: www.cnblogs.com/Esummer/p/11791009.html