例化bean还有2种方式

1.静态工厂实例化

2.实例工厂实例化

这2种方法的区别就是有无static关键字,对于静态工厂代码如下

 

   
   
   
   
  1. package org.lxh.impl; 
  2. public class PersonManagerFactory { 
  3.   public static PersonManger createFactory(){ 
  4.       return new PersonManger(); 
  5.   } 

beans.xml的配置如下

 

   
   
   
   
  1. <bean id="personManager2" class="org.lxh.impl.PersonManagerFactory" factory-method="createFactory">bean> 


如果是实例工厂实例化配置文件则应该类似下面的这种情况

 

   
   
   
   
  1. <bean id="personFactory" class="org.lxh.impl.PersonManagerFactory2">bean> 
  2.       <bean id="personManager3" factory-bean="personFactory" factory-method="createFactory" destroy-method="destroy" lazy-init="true">bean> 

这里需要指出的是bean的几个熟悉,lazy-init是延迟初始化,init/destroy-method用来指定初始化或容器销毁要执行的方法,延迟初始化一般不建议使用,

还可以指定bean的作用域,这个大家可以查阅文档。