spring中bean的實例化方式有三種,1.構造器實例化,2.實例工廠實例化,3.靜態工廠實例化spring
1.構造器實例化方式app
public class bean1 {
public bean1() {
}
}
applicatContext.xml中的配置
<bean id="bean1" class="com.itheima.ioc.Constructorbean.bean1"/>
測試
public class consTest {
public static void main(String[] args) {
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
bean1 bean=(bean1) applicationContext.getBean("bean1");
}
}
2.靜態工廠實例化bean
public class Bean2 {
public Bean2() {
}
}
//靜態工廠類
public class MyFactoryBean2 {
public static Bean2 creatBean() {
return new Bean2();
}
}
applicatContext.xml中的配置
<bean id="bean2" class="com.itheima.ioc.StaticFactoryshilihuaBean2.MyFactoryBean2"
factory-method="creatBean"/>
測試:
public class TestFactoryBean {
public static void main(String[] args) {
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
Bean2 bean2=(Bean2)applicationContext.getBean("bean2");
System.out.println(bean2);
}
}
3.實例工廠實例化bean
public class bean3 {
}
實例工廠類
public class MyBeanFactory {
public MyBeanFactory() {
System.out.println("這是實例化工廠實例化bean...");
}
public bean3 createBeanFactory() {
return new bean3();
}
}
applicationContext.xml中的配置
<bean id="MybeanFactory" class="com.itheima.ioc.shiligongcshilihBean3.MyBeanFactory"/>
<bean id="bean3" factory-bean="MybeanFactory" factory-method="createBeanFactory"/>
測試
public class shilihuabeanTest { public static void main(String[] args) { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); bean3 bean=(bean3)applicationContext.getBean("bean3"); System.out.println(bean); }}