Spring中 的Bean

Bean的实例化的三种方式

1).无参数构造(常用)

Bean类提供无参数构造

 

2).静态工厂方法

3).实例工厂方法.

需要创建一个工厂类,在工厂类中提供一个非static的创建bean对象的方法,在配置文件中需要将工厂配置,还需要配置bean

 

 Bean的作用域

bean的scope属性描述作用域:

1) singleton:单例 代表在spring ioc容器中只有一个Bean实例 (默认的scope)

2) prototype多例 每一次从spring容器中获取时,都会返回一个新的实例

3) request 用在web开发中,将bean对象request.setAttribute()存储到request域中

4) session 用在web开发中,将bean对象session.setAttribute()存储到session域中

Bean的生命周期

我们需要关心的是两个方法:

1.增强Bean的功能使用后处理的Bean,BeanPostProcessor

2.如果需要初始化和销毁操作,使用init-method和destroy-method

注意:destroy-method 只在scope=singleton单例中有效.

Bean的属性注入

1).构造器注入

2).setter注入

使用ref来引入另一个bean,完成bean之间的注入

3)集合属性注入

1> list 和数组注入

 

 2> set属性注入

 

 

3>Map属性注入

 

4>properties属性注入:

Java.util.Properties是java.utilsMap的实现类,它的key与value都是String类型.

 

 名称空间p和c的使用

它们是虚拟的,嵌入到Spring的内核中

 

使用p名称空间可以解决我们setter注入时<property>简化

 

使用c名称空间可以解决我们构造器注入时<constructor-arg>简化 .

这是setter的注入

这是p名称空间简化版

如果c或p名称空间操作的属性后缀是”-ref”代表要引入另一个已经存在的bean,

 

 

 

 

 

 

posted @ 2017-11-24 19:03  无~所~谓  阅读(188)  评论(0)    收藏  举报