目录
1. 构造器注入(Constructor Injection)
2. Setter 注入(Setter Injection)
1. 构造器注入(Constructor Injection)
- 方式:通过构造方法完成依赖注入。
- 配置:
- XML:使用
<constructor-arg>标签。 - Java 注解:使用
@Autowired或隐式构造器(Spring 4.3+)。
- XML:使用
- 示例:
java
@RequiredArgsConstructor public class UserService { private final UserRepository userRepository; // 构造器注入(Spring 4.3+ 可省略 @Autowired) /*@Autowired public UserService(UserRepository userRepository) { this.userRepository = userRepository; }*/ } - 特点:
- 不可变依赖:依赖对象在创建后不可变(
final字段)。 - 强制依赖:对象创建时必须提供所有依赖,避免空指针异常。
- 防止循环依赖:Spring 会在启动时检测并报错。
- 不可变依赖:依赖对象在创建后不可变(
- 适用场景:
- 强制依赖的场景(如核心业务组件)。
- 不可变对象(如使用
final字段)。
2. Setter 注入(Setter Injection)
- 方式:通过公共的 Setter 方法完成依赖注入。
- 配置:
- XML:使用
<property></
- XML:使用

最低0.47元/天 解锁文章
1883






