标签:
1、配置、创建以及管理Bean对象
2、维持Bean对象之间的依赖关系。
3、负责Bean对象的生命周期。
1、读取Bean定义文件。
2、维护Bean之间的依赖关系。
3、国际化的支持。
4、资源访问、事件传播
1、配置文件:
1、<beans/>是Spring配置文件的根节点。
2、一个<beans/>节点里面可以有多个<bean/>节点
2、定义<bean/>节点:通常指定2个属性:id用来指定bean的唯一标识符,class用来指明bean的具体实现类。
3、Bean在Spring容器中的两种行为:
singleton:整个Spring容器只有一个共享实例存在,也就是单例;
non-singleton:非单例,每次请求该Bean,Spring容器都会新建立一个Bean实例。
1、Bean的命名:使用清晰的,描述性的,一致性的命名规范。查找顺序id--name---类名
2、Bean的别名:通过alias元素指定 如<alias name="fromname" alias="alisaname" />
3、生命一个简单Bean:创建xml文件---写入配置信息---生成Bean类---加入Bean到配置文件。
4、注入属性:
a、注入基本类型和String类型:使用<value>元素,XML解析器以String类型解析出来,再通过propertyEditots转换类型。
b、注入Bean:<ref/>元素进行标识,ref元素的来个属性Bean:表示来自不同xml的bean,local:表示来自相同xml的bean。
c、注入集合类型属性:(1)List属性:<list>标签中间可以使用<value>、<ref>等标签注入集合元素,甚至是另外一个<list>标签。
(2)例<list><value>1</value><value>2</value>.....</list>
(3)set属性:<set>标签,用法与<list>
(4)Map属性:<map>标签,如果Map中的键或者值是Bean对象,可以把<value>换成<ref>
例:<map> <entry><key><value>键</value></key> <value>值</value></entry></map>
(5)properties类型属性:使用<props>标签,其键和值通常为字符串类型
例:<props> <prop key="keyname">值</prop>....</props>
(6)注入空值:<value></value>,注入NULL值<null/>
5、Bean元素的作用域:使用scope属性指定:
1、singleton:默认值,单例
2、prototype:非单例。
3、request:用于WEB应用环境,针对每次HTTP请求都会创建一个新的Bean实例。
4、session:用于WEB应用环境,针对每次会话都会创建一个新的Bean实例。
5、global session:尽在porlet的web应用中使用,全局会话创建一个实例。
6、简化Spring loc配置
1、使用p命名空间注入Bean属性:必须先添加命名空间的声明
<beans> <!-- 添加p命名空间的声明 --> xmlns:p="http://www.springframework.org/schema/p" <!-- 使用p命名空间注入Bean的属性 --> <bean id="name" class="spring.HelloSpring" p:name="林冲" /> </benas>
2、在Spring配置文件中实现自动装配:<bean>元素的autowire提供了一种自动注入依赖对象的机制,配置Bean时不需要做任何显示指定,Spring会自动查找符合条件的依赖对象并实施注入。
例:no:默认值,不自动装载。 byName:根据属性名自动匹配。 byType:根据属性的类型自动匹配。 constructor:根据构造方法自动匹配。
<!-- 使用自动装载注入依赖对象,在spring.HelloSpring中的属性名,自动查找配置的Bean进行注入--> <bean id="name" class="spring.HelloSpring" autowire="byName" />
标签:
原文地址:http://www.cnblogs.com/hjiongjiong/p/4556339.html