図1に示すように、豆は、次の3つの方法で作成されます
直接Beanに注入された注釈を使用します
FactoryBeanの実装
他のクラスに間接的に作成されました
最初の方法
コンフィギュレーション・クラス@Configrationを作成します。
実装クラスを作成します
注入されたクラスを作成するには
1 @Configuration 2 パブリック クラスのMyConfig { 3 4 @Bean 5 @Scope( "プロトタイプ" ) 6 公共MyBeanとしたcreateBean(){ 7 戻り 新しいMyBeanと()。 8 }
パブリック クラスAppDemo { 公共 静的 ボイドメイン(文字列[]引数){ AnnotationConfigApplicationContextコンテキスト = 新しい AnnotationConfigApplicationContext(のMyConfig。クラス)。 System.out.println(context.getBean( "MyBeanと" )); context.close(); } }
パブリック クラスMyBeanと{ }
注釈を使用している間、デフォルト単一@Scope豆の実施の形態では、SCOPの実施形態では、ビスを交換することができます
context.getBean()は、クラス名とメソッド名により取得することができます。ビーン(「たcreateBean」)に参加するメソッド名メソッド名@Bean必要
方法注入型、傍受の前記2点の様々なAnnotationConfigApplicationContext源
第二の方法
パブリッククラスRunnableFactoryBeanはFactoryBeanの<ジープ> {実装 @Override 公衆ジープのgetObjectは(){例外をスロー )(新しいジープを返します。 } @Override <?>パブリッククラスgetObjectType(){ 戻りjeep.class。 } @Override パブリックブールisSingleton(){ trueを返します。 } }
@Bean 公共RunnableFactoryBean createRunnableFactoryBean(){ )(新しいRunnableFactoryBeanを返します。 }
第三の方法
パブリッククラスCarFactory { 公共猫createCat(){ )(新しい猫を返します。 } }
私たちは、クラスの猫を作成する必要があります
CarFactoryで猫を作成します。
設定ファイルに注入豆の構成ガイド
メソッドメイン出力クラス