首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

spring 札记 (1)

2012-10-07 
spring 笔记 (1)反向控制: 协调依赖的对象之间合作的的责任从对象自身中转移出来。这样可以减轻耦合程度;?B

spring 笔记 (1)

反向控制: 协调依赖的对象之间合作的的责任从对象自身中转移出来。这样可以减轻耦合程度;

?

Bean装配

spring有两种容器?

?? (1)Bean工厂org.springframework.beans.factory.BeanFactory:提供了基本的依赖注入支持,

?? BeanFactory负责实例化对象并创建对象间的关联; 参与对象的生命周期管理,调用用户定义的初始化和销毁方法;

?? 最常用的BeanFactory实现 XmlBeanFactory;

?

?? (2)ApplicationContext应用上下文:org.springframework.context.ApplicationContext:提供了系统构架服务;

??? 提供了文本信息解析工具,包括对国际化的支持;提供了载入文件资源的通用方法,如载入图片;为注册为监听器的Bean发送事件;

(1)和(2)的另外一个区别:单实例Bean如何被载入;

BeanFactory延迟载入所有的Bean,知道getBean()被调用时才创建Bean;

ApplicationContext预先加载所有单实例的Bean,

Bean生命周期:

? BeanFactory在加载了Bean之后,Bean的生命周期就开始了;

? BeanFactory在Bean可以使用之前还做了很多工作:

????? (1)容器寻找Bean的定义,并实例化

????? (2)使用依赖注入,Spring按照Bean定义信息配置其属性;

????? (3)如果Bean实现了BeanNameAware接口,调用setBeanName()方法,传递Bean的id;

????? (4)如果Bean实现了BeanFactoryAware接口,调用setBeanFactory()方法,传递BeanFactory自身;

????? (5)如果有BeanPostProcessor和Bean关联,调用postProcessBeforeInitialization()

????? (6)如果Bean指定了初始化的方法 init-method,调用初始化方法;

????? (7)如果有BeanPostProcessor和Bean关联,调用postProcessAfterInitialization()

Set方式注入依赖

基本配置:

?<bean id="id" singleton="false"/>

??????????? singleton设置为false表明是原型,每次返回不同的实例;否则默认返回是同一个实例;

?<bean id="id" init-method="" destory-method=""/>

??????????? init-method,实例化后立即会被调用? destory-method在Bean从容器中删除之前调用;

?例子:

(1)基础类型或string类型的值

<bean id="id" />

???? ? ? </entry>

????? </map>

?? </property>

</bean>

?

国际化message

ResourceBundleMessageSource

messageSource这个名字不可以变

添加的配置:

<bean id="messageSource" class="org.springframwork.context.support.ResourceBundleMessageSource">

??? <property name="basename">

???????? <value>property文件名</value>

??? </property>

</bean>

spring 札记 (1)

热点排行