1.创建Spring配置
典型的Spring XML配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- Bean declarations go here -->
<beans>
Spring的核心框架自带了10个命名空间配置:
2.Bean的作用域
Spring的Bean作用域允许用户配置所创建的Bean属于那一种作用域,而无需再Bean的实现里硬编码作用域规则。
3.装配集合
当配置集合类型的Bean属性时,Spring提供了4种类型的集合配置元素。
4.使用表达式装配
Spring3引入了Spring表达式语言(Spring Expression Language,SpEL)。SpEL是一种强大、简洁的装配Bean的方式,它通过运行期执行的表达式将值装配到Bean的属性或构造器参数中。SpEL拥有许多特性,包括:
- 使用Bean的ID来引用Bean;
- 调用方法和访问对象的属性;
- 对值进行算术、关系和逻辑运算;
- 正则表达式匹配;
- 集合操作。
在SpEL中,使用T()运算符会调用作用域的方法和常量。例如,在SpEL中使用Java的Math类,可以像下面的示例使用T()运算符:T(java.lang.Math)。
SpEL可以引用集合中的某个成员,像Java里操作一样。但是SpEL同样具有基于属性值来过滤集合成员的能力。SpEL还可以从集合的成员中提取某些属性放到一个新的集合中。
集合投影是从集合的每一个成员中选择特定的属性放入一个新的集合中。SpEL的投影运算符(.![])完全可以做到这点。
5.小结
Spring容器是Spring框架的核心。Spring自带了多种容器的实现,可以归为两类:BeanFactory是最简单的容器,提供基础的依赖注入和Bean装配服务;当需要更高级的框架服务时,选择Spring的ApplicationContext作为容器更合适。
参考文献:
- Spring实战(第三版) Craig Walls 著 耿渊 译