通过final修饰依赖字段,保证依赖在对象生命周期内不变
上述代码等效:public UserController (IUserService userService){
this.userService=userService;}
构造函数注入 vs 字段注入
- 构造函数注入:
- 优点: 依赖关系明确,不可变,易于测试。
- 缺点: 代码稍微冗长一些,特别是当类有很多依赖时。
- 字段注入:
- 优点: 代码简洁,方便。
- 缺点: 依赖关系不明确,可变,测试困难。
通过final修饰依赖字段,保证依赖在对象生命周期内不变
上述代码等效:public UserController (IUserService userService){
this.userService=userService;}