您的位置:首页 > 编程语言 > Java开发

spring框架的学习-IOC容器(二)

2016-11-08 09:12 429 查看

- IOC创建Bean的三种方式

默认构造方法创建Bean

静态工厂方法创建Bean

实例工厂方法创建Bean

代码实例

xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<!-- 通过构造方法创建Bean -->
<bean id="helloWorld" class="com.lzl.test.createbean.HelloWorld"></bean>
<!-- 通过静态工厂方法创建Bean -->
<bean id="helloWorldFactory" class="com.lzl.test.createbean.HelloWorldFactory" factory-method="getInstance"></bean>
<!-- 通过动态工厂方法创建Bean -->
<!-- 创建实例工厂Bean -->
<bean id="dynamicFactory" class="com.lzl.test.createbean.DynamicHelloWorldFactory"></bean>
<!-- 使用实例工厂创建Bean -->
<bean id="helloWorld1" class="com.lzl.test.createbean.HelloWorld" factory-bean="dynamicFactory"
factory-method="getHelloWorld"></bean>
</beans>


代码实例

public static String path="";
public static ApplicationContext fileResource;
@Before
public void getFileResource(){
fileResource = new ClassPathXmlApplicationContext(path);
}

public class CreateBeanTest extends SpringHelper{
static{
path = "org/springframework/jmx/helloWorldCreateBean.xml";
}
@Test
public void createBean(){
HelloWorld h1 = (HelloWorld) this.fileResource.getBean("helloWorld");
HelloWorld h2 = (HelloWorld) this.fileResource.getBean("helloWorldFactory");
HelloWorld h3 = (HelloWorld) this.fileResource.getBean("helloWorld1");
}
}


总结

SpringIOC

利用spring容器对对象的创建、初始化、和销毁(对象是単例才行)。

创建

方式:

默认构造方法创建Bean

静态工厂方法创建Bean

实例工厂方法创建Bean

时机:

lazy-init为“default/false”,当启动spring的时候创建Bean。

lazy-init为“true”时,使用getBean的时候创建bean

初始化

spring容器调用init方法

在构造方法之后执行

销毁

如果是単例,则必须返回ClassPathXmlApplicationContext该容器,才能执行销毁工作。

如果是多例,容器不负责销毁。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring 框架 ioc 实例