如果我这样做
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
myBeans = applicationContext.getBeansOfType(MyBean.class).values();
}
这与将它放在我的构造函数中具有完全相同的效果吗?
@Inject
public MyClass(Collection<MyBean> myBeans) {
this.myBeans = myBeans;
}
答案 0 :(得分:0)
在commot case yes(没有@Lazy,@ Value,required ...)中,它们的效果相同。
在Spring应用程序中,这两个注释的工作方式与Spring决定支持除了自己的一些JSR-299注释相同。
但是有一些注释不会被@Inject像 - laze所取代,因为它是spring的一部分而不是jsr的一部分。
看起来 - 如果你所有的@Inject for Collection myBeans你在春天得到的所有东西,但是对于所有由春天也加入的@inject
而言并非如此这里是关于比较@AUTOWIRED和@INJECT SPRING INJECTION WITH @RESOURCE, @AUTOWIRED AND @INJECT
的博客