..


スポンサーリンク

コアコンテナ - のSpring Bean

このセクションでは、IOCコンテナのXMLメタデータを介して構成を分析する。
:私たちのための十分な豆instazionare nell'IoC contanierわずか2 infomarzioni用

  • オブジェクトが属するクラスの修飾名
  • コンテキストでBeanに割り当てられる一意のID
例:





 <beans id="myBean" class="com.MyClass"/>









 <beans class="com.MyClass1"/>



指定しない場合は、ランダムな春生成するため、2番目の例は、意図的に、id属性を省略しています。 しかし、それはあなたが常にidを指定することをお勧めしますので、必要に応じて、Beanを参照することができます。 Beanは、name属性を介して、またはエイリアスタグで追加できる複数の識別子を持つことができます。
 



 <beans id="myBean" class="com.MyClass" name="alias1 alias2" />

 
 



 <alias name="myBean" alias="alias1" />

 

3つの方法を使用してSpring Beanをインスタンス化するには:

  • メーカーを通じて、
  • ファクトリメソッドを介して
  • ビーンファクトリを介して
あなたが豆をインスタンス化する方法を指定しない場合、Springはデフォルトのコンストラクタを使用して、各Beanが(後に我々は、Beanがパラメータを持つコンストラクタを使用してインスタンス化する方法が表示されます)デフォルトのconstruttoreを持っている必要があります。
あなたの典型的なファクトリメソッド、使用する場合はシングルトンを 、あなたは、工場出荷時にメソッド属性を使用する必要があります。





 {publicクラスFactoryMethodBean





  



プライベート静的インスタンスは=新しいFactoryMethodBean FactoryMethodBean();





  



プライベートのFactoryMethodBean(){}





  



パブリック静的FactoryMethodBeanのgetInstance(){



    



インスタンスを返します。



  



 }









 }



とnell'applicationContext。xmlの
 



 <bean id="factoryMethodExample" class="it.mrwebmaster.singleton.FactoryMethodBean" factory-method="getInstance"/>

 

インスタンス化の最後のメソッドは、ファクトリメソッド、の典型的な豆の工場、に加えて、使用してサービスロケータ






 FactoryBean {publicクラス





  



プライベートExampleBean前者。





  



公共FactoryBean(){



    



スーパー();



    



前者ExampleBeanImpl =新しい();



  



 }





  



公共ExampleBean getExampleBean(){



    



 exを返します。



  



 }









 }



とnell'applicationContext。xmlの





 <bean id="factoryBean" class="it.mrwebmaster.factory.FactoryBean" />









 <bean id="exampleBean" class="it.mrwebmaster.factory.ExampleBean" factory-bean="factoryBean" factory-method="getExampleBean"/>



スコープ

Beanの重要なプロパティは、ライフサイクルを定義し、その範囲、です。 春は、スコープの5つのタイプをサポートしています。

  • シングルトンは、他のすべてのBeanで共有されるコンテナ内のBeanの単一のインスタンスを作成します。
  • たびに、特定のBeanを必要とされるプロトタイプは、新しいものをインスタンス化する、すなわちプロトタイプスコープのBeanを参照する他のBeanは、独自のインスタンスを持つことになります。
  • 各HTTP 要求の要求は、このBeanのインスタンスが作成されます
  • セッションは、各HTTPセッションにこのBeanのインスタンスが作成されます
  • グローバルセッションは、様々なポートレット間のグローバルなセッションの概念に存在しているポートレットを使用し、作成するアプリケーションでのみ使用する必要があります。

シングルトンとプロトタイプスコープは、リクエスト、セッション、グローバルセッションとしてすべてのApplicationContextのために利用可能であり、唯一のWebApplicationContextのために有効です。

scope属性が指定されていない場合、Beanは、デフォルトでシングルトンスコープになります。

これらのスコープに加えて、6番目はそこに存在しますが、範囲のスレッドは、既定で有効になっていません。 春には、カスタムスコープを作成できますが、読者は、このトピックの深さに委ねられている。

スプリングJavaのガイド
E -ラーニング
Linuxの(コース) Linuxの(コース)
オープンソースシステムへの完全なガイド。 49€から。
PHP(コース) PHP(コース)
動的なWebサイトを作成するためのフルコース。 49€から。
RubyとRuby on Rails(コース) RubyとRuby on Rails(コース)
RubyとRoRのと、ソフトウェアやWebアプリケーションを作成します。 39€から。
スポンサーリンク