3.3. Bean overview
3.3.1 Naming beans
Beanの定義の基礎について。
すべてのbeanはひとつ以上の名前を定義できる。普通は名前はひとつだけど。複数のエイリアスをつけることもできる。
Bean名はid属性かname属性で定義する。idはXML elementのidなのでXMLで唯一でないといけないのでこっち使うとよい
(XMLパーサーでチェックアウトできるから)。
ただXMLのID属性は、時々指定できない文字列があるので、こういう時はnameを使うとよい。
nameやidを指定しないこともできる。その場合はspirngが自動的にnameを割り当てる。なのでこの場合はIDを指定するなどは使えず、
innner beanやautowireingしか使えない。
3.3.1.1 Aliasing a bean outside the bean definition
エイリアスをbeanの外部で定義する例。こんな感じ。
3.3.2 Instantiating beans
SpringのコンテナがBeanを生成する方法には、以下の二つがある
- デフォルトコンストラクタ
- ファクトリメソッド
3.3.2.1 Instantiation with a constructor
普通はこっち。デフォルトコンストラクタ呼び出しで生成される。
3.3.2.2 Instantiation with a static factory method
とやると、ClientServiceのstaticメソッド「createInstance」を呼ぶ。
3.3.2.3 Instantiation using an instance factory method
とやると、factory-beanで定義された名前を持つbeanのインスタンスメソッド「createInstance」を呼ぶ。このfactory-beanは生成されるbeanと別物でよい。