Spring4-快速入门之在IOC容器中装配Bean( 四 )


配置如下

Bean之间的继承和依赖
1.继承
通过继承,子bean会继承父bean的所有配置信息
New棉花糖Black>
2.依赖
通过-on属性,显式的指定Bean前置依赖的Bean,前置依赖的Bean会在本Bean实例化之前创建好

整合多个配置文件

Spring4-快速入门之在IOC容器中装配Bean

文章插图
通过标签将多个xml配置文件整合到一起

Bean的作用域 类型说明
Bean以单例的方式存在
与相反,每次都会返回新的 Bean
每次HTTP请求都会创建一个新的Bean,该作用域仅适用于t环境
同一个HTTP 共享一个Bean,不同的HTTP 使用不同的Bean,该作用域仅适用于t环境
同一个全局共享一个Bean,一般用于应用环境,该作用域仅适用于t环境
注意:当非web相关作用域的Bean引用web相关作用域的Bean时,需要与的动态代理技术一起使用,如下:

基于注解的配置
1.使用注解定义的Bean
将class定义为Bean的注解类别:
注解名说明
@
将一个class定义为Bean
@
用于对Dao实现类进行标注
@
用于对实现类进行标注
@
用于对实现类进行标注
2.扫描注解定义的Bean
提供了一个的命名空间,它提供了通过扫描类包以应用注解定义Bean的方式,如下:
xmlns:context="http://www.springframework.org/schema/context"http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.0.xsd">
3.自动装配Bean
使用@进行自动注入(默认使用的方式)
@Autowiredprivate Car car;
将@的属性设置为false,即使找不到匹配的Bean,也不会抛出异常
可以使用@注解指定注入的Bean的名称
@Autowired@Qualifier("car")//注入名为car的Beanprivate Car car;
@和@除了能注解属性外,还可以注解方法,如下:
@Autowiredpublic Boss(String name,@Qualifier("car") Car car) {System.out.println("Boss Constructor");this.name = name;this.car = car;}
使用@Lazy注解指定延迟依赖注入,注意@Lazy注解必须同时标注在属性和目标Bean上,否则无效 。
4.Bean作用范围和生命过程方法
使用@Scope注解指定Bean的作用范围,例如:@Scope(“”) 。
使用@和@注解指定Bean的初始化及容器销毁前执行的方法,可以标注多个方法 。