【发布时间】:2018-04-02 12:51:36
【问题描述】:
我知道关于@Autowired 和@Required 注释的文章很多。
但是我有一个非常基本的问题如下 -
下面两种setter注入机制有什么区别。
我还没有得到一个完整的令人满意的答案。
原因是:
1)@Autowired 没有任何额外信息,例如 - @Autowired(required=false) 与 @Required 相同
2)我们还从@Required 中获得了什么?
3) 为什么@Required 比@Autowired 在setter 注入上更受欢迎?
class MyClass {
private MyService myService;
@Autowired
public void setMyService(MyService val) {
this.myService = val;
}
}
class MyClass {
private MyService myService;
@Required
public void setMyService(MyService val) {
this.myService = val;
}
}
【问题讨论】:
-
是的。我已经访问过这个链接。问题仍然存在:在 setter 注入时,哪些额外的 Required 注释不能提供 Autowired 注释?
-
这不是你要找的答案:stackoverflow.com/a/18887438/669408吗? @Aurowired 不限于设置器,也可以与构造器一起使用。
标签: spring dependency-injection