2009年2月10日星期二

【spring学习流水帐】第二天

今晚主要学习:
1.配置管理spring的bean作用域

i)默认每个创建的bean是单例实例,延迟初始化bean,这是bean节点的属性lazy-init="true" 所有的bean都延迟初始化,设置beans节点的default-lazy-init="true"
ii)可以配置为prototype模式的实例,即每次从容器中获取的bean都是新的对象。scope="prototype"
iii)bean的scope属性:prototype,singleton
iv)注意beans.xml 里面节点属性是大小写区分的!

2.spring管理bean的生命周期
i)默认情况下,即bean是在singleton模式下实例化,bean随容器的实例化而实例化,即他们同时实例化;
ii)在prototype模式下,bean在容器初始化时没有实例化,而是在getBean()调用后实例化的;
iii)bean节点的init-method属性,bean实例化时调用的初始化方法
iv)bean节点的destory-method属性,bean销毁是调用的方法。容器不关闭,bean不销毁。AbstractApplicationContext的close方法可以正常销毁容器。

3.Spring依赖注入的原理
i)属性注入:bean节点的property子节点,其name属性的实例名、ref依赖的bean的id值属性;
ii)内部bean的方式注入,此bean只能被其外部bean使用不能被其他bean使用;
iii)基本属性注入:bean->property->bean->name,value;
iv)bean创建控制权的转移,实现了反转控制。

没有评论: