***使用类构造器实例化***
<bean id="userDao1"
class="cn.itcast.e_createBeanInstance.UserDaoImpl">
</bean>
***使用静态工厂方法实例化***
一、配置文件:
<!-- 使用静态工厂方法实例化
class属性表示工厂类的全限定名
factory-method属性表示这个工厂类中用于创建实例的静态方法名(必须是static的)
-->
<bean id="userDao2"
class="cn.itcast.e_createBeanInstance.StaticDaoFactory"
factory-method="createUserDaoInstance">
</bean>
二、工厂类:
public class StaticDaoFactory {
public static Object createUserDaoInstance() {
System.out.println("StaticDaoFactory.createUserDaoInstance()");
return new UserDaoImpl();
}
}
***使用实例化的工厂对象中的方法实例化***
一、配置文件:
<!-- 使用实例化工厂对象中的方法实例化
一、定义工厂bean
二、定义这个bean是由工厂方法创建的,其中:
factory-bean属性表示工厂bean的名称(id或name)
factory-method属性表示这个工厂类中用于创建实例的方法名(不能是static的)
-->
<bean id="simpleDaoFactory"
class="cn.itcast.e_createBeanInstance.SimpleDaoFactory"></bean>
<bean id="userDao"
factory-bean="simpleDaoFactory"
factory-method="createUserDaoInstance">
</bean>
二、工厂类:
public class SimpleDaoFactory {
public Object createUserDaoInstance() {
System.out.println("SimpleDaoFactory.createUserDaoInstance()");
return new UserDaoImpl();
}
}