Spring Framework Documentation (笔记)

The IoC Container

1.4、Dependencies

使用DI原则,代码更加简洁,当对象提供依赖项时,解耦更有效。Spring可以通过构造方法或者setter方法注入依赖。

1.5、Bean Scopes

我们不仅可以控制插入到对象各种依赖和配置的值,还能控制Bean的作用域,Spring支持六个作用域,其中四个只有在特定情况下才能生效,默认是单例模式。Spring框架也允许我们自定义我的作用域。

1.6、Customizing the Nature of a Bean

Spring框架提供了一系列的接口,你可以通过使用这些接口,定义Bean的性质。例如生命周期回调。让Bean在初始化和销毁、刷新等情景下,执行一些特定的方法,实现这种方法可以基于接口,或者注解,还可以同XML配置实现。又例如其他感知接口,实现他们可以对Spring底层API操作,官方不推荐我们这样做,这样做不遵循控制反转的原则。

1.7、Bean Definition Inheritance

在基于XML配置的JavaBean中,子Bean可以继承父Bean的配置信息,大大提高了配置效率。

1.8、Container Extension Points

通过实现特殊的集成接口,可以对IOC容器进行扩展。

1.9、Annotation-based Container Configuration

基于注解和基于XML都能实现往IOC容器中注册Bean。注解的方式发生在XML方式之前,可以通过XML方式来重新设置Bean的属性。通常注解方式更简洁,XML方式更适合连接组件并且不触及源码、不需从新编译。
1、@Required:用于Bean属性的setter方法上,表示这个属性在配置的时候必须设置。(5.1废弃)
2、@Autowired:可以注入你需要的类型Bean,List、Map等。
3、@Primary:同一种Bean的多个实例存在容器中,标注这个注解的对象将会注入的目标对象中。
4、@Qualifier:限定符注解,匹配名字相同的Bean对象。通常和@Autowired一起使用。
5、@Resource:按Bean的名称注入。
6、@Value:用于注入外部的属性。
原文地址:https://www.cnblogs.com/feiqiangsheng/p/12954712.html