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
后面再写一下使用注释的