Spring学习笔记二之如何装配Bean

Spring如何装配Bean

1,首先要搞清楚Spring中如何配置bean。众所周知,Spring最基本的方法是利用XML文件来配置bean的,比如声明一个bean语法:

id是这个bean的标识,在XML中注入bean就会用到这个id;class指定一个具体的bean类

2,明白了bean的配置和声明,还有很重要的一点:在Spring中,定义一个bean类之前一般首先会定义一个接口,然后该bean实现该接口,在其他的bean中,使用接口来定义成员变量,以便实现多态性,比如:

在《Spring in action》给出的例子中,首先定义了一个Poem接口,这个有一个recite方法

然后在poeticjuggler类中,用此接口定义了一个成员变量Poem:

接下来,只要是实现了Poem接口的类都可以注入到poeticjuggler类中,比如下面这个类:

这就很好的实现了多态性。

3,当然最重要的不是声明bean的方法,而是如何注入bean的方法了:

·构造函数注入:

注入简单的值:

注入一个对象:

4,工厂方法创建bean:

工厂方法的特征:某个类不提供public的构造函数,而是将构造函数设置为private的,然后提供另一个static的getInstance方法返回类的一个实例。

一般的bean,都会有默认的构造方法,如果没有指明在创建该bean对象时使用的方法,则系统使用默认构造函数。在没有public构造函数的bean中,使用factory-method属性来制定工厂方法来创建bean

5,bean的作用域:

默认bean的作用域是singleton的,也就是调用getBean方法或者通过装配得到的bean都是同一个bean,可以通过scope属性设置:

scope所有属性:

6,初始化和销毁bean:

为单个bean指定初始化和销毁函数:

为所有的bean指定初始化和销毁方法:

7、注入bean属性:一般bean的每个属性都会为其定义相应的get和set函数。通过get和set函数可以为属性注入值

注入简单值:

注入外部bean(已经在XML中声明了saxophone的bean):

注入内部bean:

通过setter注入内部bean

通过constructor方法注入内部bean:

8、使用Spring的命名空间p装配属性:

首先声明使用命名空间:

然后装配属性:

9、装配集合

在bean中定义一个集合的属性:

在XML中配置:

list:

另外几种:

set:

map:

property:

10、装配空值

11、使用表达式装配,即SqEL语言的运用:

使用#{}定界符括起来的表达式

装配字面值:

引用bean:

引用bean的属性值:

引用bean的方法:

为了避免空指针,可以用空指针安全存取器:

操作类:

各种逻辑操作:

条件表达式

12,投影集合

属性筛选:

posted on 2014-06-23 09:59  不会熬夜的程序员  阅读(939)  评论(0编辑  收藏  举报

导航