我一直在Internet上阅读有关Spring的文章和教程,而且我发现其中许多包含代码示例,它们在声明其@Autowired成员时使用范围默认值而不是private。
例如。
@Autowired
AccountRepository accountRepository;
代替
@Autowired
private AccountRepository accountRepository;
我想知道为什么会这样。因为从良好的封装角度来看,我认为这是错误的。我不知道在Spring这样做有什么好处吗?
最佳答案
直接通过字段注入依赖关系从来不是一个好习惯,而是使用构造函数注入(@JBNizet也指出了这一点),您可以在here中找到更多详细信息。
简而言之,您应该在通常为@Autowired
的bean构造函数上使用public
。
关于java - @Autowired类成员声明为<default>范围,而不是private,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43168417/