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}):これらのクラスが存在するパケットをスキャンする
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章
Spring構成のオプション
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をアセンブリする
XMLによるbeanのアセンブリ
構成のインポートとブレンド