Spring 入门-第五篇:Bean 的属性注入深入
1. 构造函数注入:不可变依赖的「安全卫士」
1.1 构造函数注入的核心优势
- 强制依赖初始化:通过构造函数注入的依赖,在 Bean 实例化时必须提供,避免出现
null
指针异常。 - 线程安全:依赖关系在对象创建时固定,适合多线程环境下的不可变对象。
- 明确性:依赖关系在类签名中显式声明,阅读代码即可快速了解依赖需求。
适用场景:
- 依赖关系在对象生命周期内不可变更(如数据库连接池、配置文件解析器)。
- Bean 有多个必须的依赖项,需确保初始化时全部就绪。
1.2 XML 方式实现构造函数注入
(1)单参数构造函数
Bean 类:
public class UserRepository