@Autowired类成员使用<default>范围声明而不是private

时间:2017-04-02 12:39:45

标签: java spring

我一直在互联网上阅读涉及Spring的文章和教程,我看到很多人都有代码示例,他们声明他们的@Autowired成员的范围 默认 而不是私人

E.g。

@Autowired
AccountRepository accountRepository;

而不是

@Autowired
private AccountRepository accountRepository;

我想知道为什么会这样。因为从良好的封装角度来看,我认为这是错误的。在Spring中这样做有什么好处我不知道吗?

1 个答案:

答案 0 :(得分:1)

直接通过字段注入依赖项绝不是一个好习惯,而是使用构造函数注入(@JBNizet也指出),您可以查看here以获取更多详细信息。

简而言之,您应该在bean构造函数上使用@Autowired,这通常是public