核心提示:spring 三种实例化bean的方法1.用构造器来实例化的方式配置配置文件:bean id='标示' class='包名.类'/bean name='标示' class='包名.类'/类代码和普通的...
spring 三种实例化bean的方法
1.用构造器来实例化的方式配置
配置文件: <bean id="标示" class="包名.类"/> <bean name="标示" class="包名.类"/> 类代码和普通的没有区别,这个是比较常用的
2.使用静态工厂方法实例化的方式配置
配置文件: <bean id="demo" class="com.csdn.DemoFactory" factory-method="getInstance"/> 类代码: package com.csdn; public class DemoFactory { public DemoFactory(){ System.out.println("DemoFactory实例化"); } public static Demo getInstance(){ return new Demo(); } } package com.csdn; public class Demo { public Demo(){ System.out.println("Demo实例化"); } }
3.使用实例工厂方法实例化配置
配置文件: <bean id="demo2factory" class="com.csdn.Demo2Factory" /> <bean id="demo1" factory-bean="demo2factory" factory-method="getInstance"/> 类代码: package com.csdn; public class Demo2Factory { public Demo2Factory(){ System.out.println("Demo2Factory实例化"); } public Demo getInstance(){ return new Demo(); } }
测试代码如下
package com.csdn; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Demotest { @Test public void test(){ ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml"); Demo demo = applicationContext.getBean("demo",Demo.class); System.out.println("静态工厂产生的demo"+demo); Demo demo2 = applicationContext.getBean("demo1",Demo.class); System.out.println("实例工厂产生 的demo"+demo2); } } 测试结果如下: Demo2Factory实例化 Demo实例化 Demo实例化 静态工厂产生的democom.csdn.Demo@51e2adc7 实例工厂产生 的democom.csdn.Demo@1a8a8f7c
后面再写一下使用注释的