您的位置:首页 > 编程语言 > Java开发

spring中三种实例化bean的方式

2015-06-24 11:27 671 查看
***使用类构造器实例化***
<!-- 使用类构造器实例化,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>

二、工厂类:
public class StaticDaoFactory {
// 方法必须声明为static的
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 {
// 方法不能声明为static的
public Object createUserDaoInstance() {
System.out.println("SimpleDaoFactory.createUserDaoInstance()");
return new UserDaoImpl();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  bean