在一般的开发模式中,我们基本是这样的:
Controller层注入Service层,Service层注入Dao层,通过@Autowired来自动注入,
而且这种方法用起来也很爽,也用了这么多年了
Springboot官方建议使用final来修饰成员变量,然后通过构造方法来进行注入
private final QdTdhlTools qdTdhlTools;
private final BaseChatMessageService baseChatMessageService;
public BaseChatMessageServiceImpl(QdTdhlTools qdTdhlTools, BaseChatMessageService baseChatMessageService) {
this.qdTdhlTools = qdTdhlTools;
this.baseChatMessageService = baseChatMessageService;
}
他这样的用途是为了什么呢?
官网写了一句:
注意:final修饰的成员变量是不能够被修改的,
从句话可以看出,他这样做的目的是为了防止我们注入进来的成员变量被修改。
本文探讨了Springboot官方推荐的使用final修饰成员变量并通过构造方法注入的实践。这种做法旨在确保注入的对象不可变,提高代码的稳定性和可预测性,避免意外修改导致的问题。通过这种方式,开发者可以更好地维护和理解代码逻辑。
2256

被折叠的 条评论
为什么被折叠?



