BeanFactory与ApplicationContext的区别
1.ApplicationContext在加载对应xml就会创建一个具体的bean对象
2.BeanFactory采用延迟加载的形式,在加载对应的xml先不创建bean对象,当getBean时才会创建
ApplicationContext
是在创建
ioc
容器时就已经把对象创建好了
BeanFactory
是创建
ioc
容器时并没有创建对象,而是在第一次
getBean
时再创建对象
scope属性:(singleton单例默认值 prototype多例)
当
scope
为
prototype
时,每次获取
bean
,都会重新实例化
init-method属性:
当创建IOC容器后再进行初始化
init-method属性:
满足:①scope="singleton"
②测试用例手动调用ClassPathXmlApplicationContext的close的方法
((ClassPathXmlApplicationContext)IOC容器对象).close();
p命名空间注入:
1.添加p命名空间
xmlns:p
=
"http://www.springframework.org/schema/p"
2. p:简单属性名=”值” p:对象属性名-ref=”bean的id”
SpEL的写法
注入字符串:
#{
‘
字符串
’
}
注入数字:
#{
数字
}
注入其它对象:
#{
对象
id}