使用类构造器
<!-- 使用类构造器实例化,class属性表示要使用的类的全限定名 -->
<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>
publicclass StaticDaoFactory {
// 方法必须声明为static的
publicstatic Object createUserDaoInstance() {
System.out.println("StaticDaoFactory.createUserDaoInstance()");
returnnew UserDaoImpl();
}
}
使用工厂方法
<!-- 使用实例化工厂对象中的方法实例化
一、定义工厂bean
二、定义这个bean是由工厂方法创建的,其中:
factory-bean属性表示工厂bean的名称(id或name)
factory-method属性表示这个工厂类中用于创建实例的方法名(不能是static的)
-->
<bean id="simpleDaoFactory"
class="cn.itcast.e_createBeanInstance.SimpleDaoFactory"></bean>
<bean id="userDao3"
factory-bean="simpleDaoFactory"
factory-method="createUserDaoInstance">
</bean>
publicclass SimpleDaoFactory {
// 方法不能声明为static的
publicstatic Object createUserDaoInstance() {
System.out.println("SimpleDaoFactory.createUserDaoInstance()");
returnnew UserDaoImpl();
}
}