Spring实例化bean的三种方法
2011-08-17 17:05
459 查看
1.用构造器来实例化
2.使用静态工厂方法实例化
要写一个bean,bean中定义一个静态方法,生成bean,配置factory-method指定静态方法,运行时容器就会自动调用静态方法生成实例
bean
配置文件
3.使用实例工厂方法实例化
要写两个bean,一个是要实例化的bean,另一个是工厂bean。容器先实例化工厂bean,然后调用工厂bean配置项factory-method中指定的方法,在方法中实例化bean
配置文件
测试代码
<bean id="hello2" class="com.hsit.hello.impl.ENhello" />
2.使用静态工厂方法实例化
要写一个bean,bean中定义一个静态方法,生成bean,配置factory-method指定静态方法,运行时容器就会自动调用静态方法生成实例
bean
package com.hsit.hello.impl; import com.hsit.hello.IHello; public class CHhello implements IHello { private String msg; public void sayHello() { System.out.println("中文" + msg); } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } @Override public String toString() { // TODO Auto-generated method stub return "Chinese"; } public static CHhello createInstance() { System.out.println("jingtai"); return new CHhello(); } }
配置文件
<bean id="hello1" class="com.hsit.hello.impl.CHhello" factory-method="createInstance" lazy-init="true"> <!-- setter注入 --> <property name="msg" value="哈哈"> </property> </bean>
3.使用实例工厂方法实例化
要写两个bean,一个是要实例化的bean,另一个是工厂bean。容器先实例化工厂bean,然后调用工厂bean配置项factory-method中指定的方法,在方法中实例化bean
package com.hsit.hello.impl; public class ENhelloFactory { public ENhello createInstance() { System.out.println("ENhello工厂"); return new ENhello(); } public ENhelloFactory() { System.out.println("chuanjian"); } }
package com.hsit.hello.impl; import com.hsit.hello.IHello; public class ENhello implements IHello { @Override public void sayHello() { // TODO Auto-generated method stub System.out.println("hello"); } @Override public String toString() { // TODO Auto-generated method stub return "我是ENhello"; } }
配置文件
<bean id="eHelloFactory" class="com.hsit.hello.impl.ENhelloFactory" /> <!-- factory-bean填上工厂bean的id,指定工厂bean的工厂方法生成实例,class属性不填 --> <bean id="example" factory-bean="eHelloFactory" factory-method="createInstance"/>
测试代码
BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml"); ENhello eNhello = (ENhello) factory.getBean("example"); System.out.println(eNhello.toString()); factory.getBean("hello1");
相关文章推荐
- spring中三种实例化bean的方法
- Spring实例化bean的三种方法
- spring中构造bean实例的三种方法
- Spring创建Bean实例的三种方法
- Spring容器实例Bean的三种方法(IOC三种方法)
- 创建Bean的三种方式 在大多数情况下,Spring容器直接通过new关键字调用构造器来创建Bean实例,而class属性指定Bean实例的实现类,但这不是实例化Bean的唯一方法。实际上,Sprin
- spring创建bean的三种方式-通过构造器,通过静态工厂方法,通过实例工厂方法
- 比较Spring中三种实例化Bean的方法
- Spring实例化bean的三种方法
- Struts 2在Action中获取Spring容器中所有Bean实例名称的方法
- 使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法
- spring中三种实例化bean的方式
- spring2.5系列之---------三种实例化Bean的方法
- spring实例bean的三种方式
- Spring学习笔记(二)Spring的三种实例化Bean的方式
- Spring中创建bean的三种方法
- Spring工厂方法创建(实例化)bean实例代码
- Spring入门学习——调用一个实例工厂方法创建Bean
- Spring的三种实例化Bean的方式
- spring学习小结7_使用工厂方法来配置bean:静态工厂方法和实例工厂方法