Spring-Beanのアセンブリ


アセンブリBean
  • のいずれの成功したアプリケーションも、あるビジネス目標を達成するために互いに協力する複数のコンポーネントからなる
  • である.
  • アプリケーションオブジェクト間のコラボレーション関係を作成する動作は、一般に、依存注入(DI)
  • と呼ばれるアセンブリ(wiring)と呼ばれる.
    Spring構成のオプション
  • XMLにおける表示構成
  • Javaでの表示構成
  • 暗黙的bean発見メカニズムと自動アセンブリ
  • 自動アセンブリbean
  • コンポーネントスキャン(component scanning):Springは、アプリケーションコンテキストで作成されたbean
  • を自動的に検出します.
  • 自動アセンブリ(autowiring):Springはbean間の依存を自動的に満たす
  • コンポーネントスキャンのベースパッケージの設定
  • @ComponentScan:デフォルトスキャン現在存在するパケット
  • @ComponentScan(「soundsystem」):ベースパッケージ
  • を設定していることを示します.
  • @ComponentScan(basePackages="soundsystem")/@ComponentScan(basePackages={"soundsystem","video"}):設定をより明確に示すベースパッケージ
  • @ComponentScan(basePackageClass={CDPlayer.class,DVDPlayer.class}):これらのクラスが存在するパケットをスキャンする
  • import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    
    /**
     *          @Component
     *       XML 
     */
    @Configuration
    @ComponentScan
    public class CDPlayerConfig {
    
        /**
         *       CompactDisc   
         *         @Bean     
         * 
         *        
         */
        @Bean(name="randomDisc")
        public CompactDisc randomBeatlesCD(){
            int choice = (int) Math.floor(Math.random() * 4);
            if(choice == 0){
                return new SgtPeppers();
            } else if(choice == 1) {
                return null;
            } else if(choice == 2) {
                return null;
            } else {
                return null;
            }
            
        }
        
    }

    Javaコードでbeanをアセンブリする
  • は構成を表示し、JavaConfigはより強力で、タイプが安全で、再構築に友好的であるため、より良いスキームです.
  • コンストラクタとSetterメソッドは@Beanメソッドの2つの単純なサンプル
  • にすぎない
    XMLによるbeanのアセンブリ
  • Springを構成するXML要素
  • を定義する複数のXMLモード(XSD)ファイルをプロファイルの上部に宣言する必要があります.
  • Spring XMLプロファイルの作成と管理は簡単です.https://spring.io/tools/sts STS>File>New>Spring Bean Configuration File
  • beanを宣言する方法:要素を使用してclass属性
  • を指定する
  • コンストラクタ注入による初期化bean:要素とSpring 3.0を用いて導入されたc-ネーミング空間
  • c:cd-ref="compactDisc":c(ネーミングスペースプレフィックス)cd(コンストラクタパラメータ名)ref(注入bean参照)compactDisc(注入するbeanのID)
  • はコンストラクタ注入に強く依存し、オプションで属性注入
  • に依存する.
    構成のインポートとブレンド
  • 自動化および表示構成が反発しない
  • @Import注記JavaConfigを別のJavaConifgにインポートするか、より高度なクラスで複数のJavaConfigを組み合わせることができます
  • .
  • @ImposrtResource注記、xmlをJavaConfigの
  • にアセンブリできます.
  • XML別のXML
  • をインポート
  • beanは、XMLにJavaConfig
  • をインポートすることができる
  • コンポーネントスキャンまたは@Componenet
  • 組立bean:自動化構成、Javaベースの表示構成、XMLベースの表示構成
  • 引用:『Spring In Action 4』第2章