例化bean還有2種方式
1.靜態工廠實例化
2.實例工廠實例化
這2種方法的區別就是有無static關鍵字,對於靜態工廠代碼如下
- package org.lxh.impl;
- public class PersonManagerFactory {
- public static PersonManger createFactory(){
- return new PersonManger();
- }
- }
beans.xml的配置如下
- <bean id="personManager2" class="org.lxh.impl.PersonManagerFactory" factory-method="createFactory"></bean>
如果是實例工廠實例化配置文件則應該類似下面的這種情況
- <bean id="personFactory" class="org.lxh.impl.PersonManagerFactory2"></bean>
- <bean id="personManager3" factory-bean="personFactory" factory-method="createFactory" destroy-method="destroy" lazy-init="true"></bean>
這裏需要指出的是bean的幾個熟悉,lazy-init是延遲初始化,init/destroy-method用來指定初始化或容器銷燬要執行的方法,延遲初始化一般不建議使用,
還可以指定bean的作用域,這個大家可以查閱文檔。