我一直在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/

10-12 00:25