spring 静态工厂 &实例工厂实例方法 & 实现factorybean接口
2014-01-14 10:44
495 查看
<!--无用 pass单例中注入原型bean 通过lookup-method 控制原型bean的生命周期 ciglib反射 代理去生成
<bean id="menuInfo" class="com.pojo.MenuInfo" scope="prototype"></bean>
<bean id="lookup" class="org.lemon.factory.LookUpTest">
<lookup-method bean="menuInfo" name="createMenuInfo"/>
</bean> -->
(1)实例工厂 实例方法
<bean id="factorys1" class="org.lemon.factory.FactorysTest" >
</bean>
<bean id="currentTime1" factory-bean="factorys1" factory-method="parseDate">
<constructor-arg value="yyyy-MM-DD HH:mm:ss"></constructor-arg>
</bean>
<bean id="currentTime2" factory-bean="factorys1" factory-method="parseDate">
<constructor-arg value="yyyy-MM-DD"></constructor-arg>
</bean>
<bean id="currentTime3" factory-bean="factorys1" factory-method="parseDate" >
<constructor-arg value="yyyy-MM-dd hh:mm:ss"></constructor-arg>
</bean>
(2)静态工厂
<bean id="testFactory" class="org.lemon.factory.TestFactory"></bean>
<bean id="factoryMethod" class="org.lemon.factory.FactoryMethodBean" factory-method="getBean" scope="prototype">
<constructor-arg type="com.bean.FtpServerInfo" ref="ftpServerInfo"></constructor-arg>
<constructor-arg type="java.lang.String" value="factory"></constructor-arg>
</bean>
对于一和二 scope配置单例 则容器初始化调用工厂方法返回一次 若为原型 则每次调用工厂方法返回工厂产生对象
两者都通过construct-arg 传递方法参数
第二种工厂本身不被实例化
(3)实现factorybean 接口
一般组件 框架中 这么干 如jndi、rmi、sessionfactory等,beanname得到工厂产生对象,&beanname得到工厂本身
<bean id="menuInfo" class="com.pojo.MenuInfo" scope="prototype"></bean>
<bean id="lookup" class="org.lemon.factory.LookUpTest">
<lookup-method bean="menuInfo" name="createMenuInfo"/>
</bean> -->
(1)实例工厂 实例方法
<bean id="factorys1" class="org.lemon.factory.FactorysTest" >
</bean>
<bean id="currentTime1" factory-bean="factorys1" factory-method="parseDate">
<constructor-arg value="yyyy-MM-DD HH:mm:ss"></constructor-arg>
</bean>
<bean id="currentTime2" factory-bean="factorys1" factory-method="parseDate">
<constructor-arg value="yyyy-MM-DD"></constructor-arg>
</bean>
<bean id="currentTime3" factory-bean="factorys1" factory-method="parseDate" >
<constructor-arg value="yyyy-MM-dd hh:mm:ss"></constructor-arg>
</bean>
(2)静态工厂
<bean id="testFactory" class="org.lemon.factory.TestFactory"></bean>
<bean id="factoryMethod" class="org.lemon.factory.FactoryMethodBean" factory-method="getBean" scope="prototype">
<constructor-arg type="com.bean.FtpServerInfo" ref="ftpServerInfo"></constructor-arg>
<constructor-arg type="java.lang.String" value="factory"></constructor-arg>
</bean>
对于一和二 scope配置单例 则容器初始化调用工厂方法返回一次 若为原型 则每次调用工厂方法返回工厂产生对象
两者都通过construct-arg 传递方法参数
第二种工厂本身不被实例化
(3)实现factorybean 接口
一般组件 框架中 这么干 如jndi、rmi、sessionfactory等,beanname得到工厂产生对象,&beanname得到工厂本身
相关文章推荐
- [原创]java WEB学习笔记102:Spring学习---Spring Bean配置:bean配置方式(工厂方法(静态工厂方法 & 实例工厂方法)、FactoryBean) 全类名
- spring 9 bean配置--通过工厂方法(静态工厂方法&实例工厂方法
- Spring的实例工厂方法和静态工厂方法
- Spring4 学习系列之——bean的静态工厂方法 和 实例方法
- Spring学习之使用静态工厂方法以及实例工厂方法配置bean
- Spring使用教程(二)配置bean:静态工厂方法和实例工厂方法
- Spring的实例工厂方法和静态工厂方法
- spring学习小结7_使用工厂方法来配置bean:静态工厂方法和实例工厂方法
- spring创建bean的三种方式-通过构造器,通过静态工厂方法,通过实例工厂方法
- spring实例工厂,静态工厂以及写有工厂方法的程序
- Spring学习笔记九--静态工厂方法和实例工厂方法
- spring实例化bean之简单工厂静态方法实例化
- 从spring容器中得到bean_使用类构造器实例化_使用静态工厂方法实例化_使用实例工厂方法实例化_例子
- Spring的实例工厂方法和静态工厂方法
- spring的静态工厂和实例工厂方法
- Spring学习--静态工厂方法、实例工厂方法创建 Bean
- Spring的实例工厂方法和静态工厂方法实例代码
- 2013-07-02 实例变量 、 属性 、便利构造器、设置器、 访问器、实例方法("-") 、类方法("+"静态方法)、单例
- spring注入的方式实现静态方法中使用非静态变量
- 【spring NOTE】调用实例工厂方法创建Bean