03 spring容器中对象的实例化方法
大纲
1 构造方法
<bean id="UserDAO" class="com.sxt.dao.UserDAOImpl"></bean>
2 实例工厂
要点:
- 配置实例工厂
- 通过factory-bean和factory-method属性调用示例工厂的方法创建对象
<!-- 使用实例工厂获得userDao的对象 -->
<!-- 1 ObjectFactory进行实例化 -->
<bean id="objectFactory" class="com.bjsxt.utils.ObjectFactory"></bean>
<!-- 2
//获得容器中的对象工厂对象
//ObjectFactory of=(ObjectFactory) ac.getBean("objectFactory");
//调用工厂对象中的方法,获得UserDao对象
//UserDao userDao=of.getUserDaoInstance();
id:引用对象,引用的是工厂对象(factory-bean)中的方法(factory-method)的返回值
factory-bean :引用已经实例化的工厂对象
factory-method :指定需要调用的工厂对象中的方法
-->
<bean id="userDao" factory-bean="objectFactory" factory-method="getUserDaoInstance"></bean>
3 静态工厂
静态工厂,不用实例化工厂对象,直接写类的完全限定名即可
<!-- 使用静态工厂,进行javabean对象的实例化
UserDao userDao=ObjectFactory.getUserDaoInstance();
id:引用对象,引用的是静态工厂(class)中的方法(factory-method)的返回值
class :指定静态工厂的完全限定名
factory-method :工厂中的静态方法
-->
<bean id="userDao" class="com.bjsxt.utils.ObjectFactory" factory-method="getUserDaoInstance"></bean>