我正在浏览一些关于 SpringSource 的博客,在其中一个博客中,作者使用的是 @Inject
我想他也可以使用@Autowired
.
这是一段代码:
@Inject private CustomerOrderService customerOrderService;
我不确定@Inject
之间的区别。和 @Autowired
如果有人解释他们的区别以及在什么情况下使用哪一个,将不胜感激?
最佳答案
假设您在这里指的是 javax.inject.Inject
注解。 @Inject
是 Java EE 6 (JSR-299) 中引入的 Java CDI (Contexts and Dependency Injection) 标准的一部分,read more . Spring 选择支持将 @Inject
注释与其自己的 @Autowired
注释同义地使用。
所以,回答你的问题,@Autowired
是 Spring 自己的注解。 @Inject
是称为 CDI 的 Java 技术的一部分,它定义了类似于 Spring 的依赖注入(inject)标准。在 Spring 应用程序中,这两个注解的工作方式与 Spring 决定支持一些 JSR-299 注解的方式相同。
关于java - Spring Framework 中的@Inject 和@Autowired 有什么区别?在什么条件下使用哪一种?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7142622/