@Inject和@Autowired有什么区别

Mah*_*leh 6 spring dependency-injection ioc-container inversion-of-control java-ee

我只是想知道@Inject和@Autowired何时使用每个人有什么区别?或者他们在做同样的事情?

如果我有一个范围有一个弹簧豆:

@Service
@Scope("singleton")
Run Code Online (Sandbox Code Playgroud)

我可以为它做依赖​​注入而没有任何问题吗?

提前致谢.

Rob*_* M. 7

据我所知,他们也这样做.@Inject是来自javax.inject的注释,它只是依赖注入的API.在Spring中你可以使用两者,因为我认为Spring为@Inject提供了一个实现,它与Spring环境中的@Autowired做同样的事情.

Matthias Wessendorf在此发表了博客:http://matthiaswessendorf.wordpress.com/2010/04/20/spring-3-0-and-jsr-330-part-2/


JB *_*zet 6

阅读文档怎么样?

在下面的示例中,可以使用JSR 330的@Inject注释代替Spring的@Autowired.@Inject没有必需的属性,这与Spring的@Autowired注释不同,后者具有必需的属性来指示注入的值是否是可选的.如果类路径上有JSR 330 JAR,则会自动启用此行为.