我正在浏览 SpringSource 上的一些博客,在其中一个博客中,作者正在使用@Inject,我想他也可以使用@Autowired.
@Inject
@Autowired
这是一段代码:
@Inject private CustomerOrderService customerOrderService;
我不确定和之间的区别,如果有人解释了他们的区别@Inject以及@Autowired在什么情况下使用哪个,我将不胜感激?
假设您在这里指的是javax.inject.Inject注释。@Inject是 Java EE 6 (JSR-299) 中引入的 Java CDI(上下文和依赖注入)标准的一部分,阅读更多。Spring 选择支持使用@Inject与他们自己的注解同义的@Autowired注解。
javax.inject.Inject
因此,要回答您的问题,@Autowired是 Spring 自己的注释。@Inject是称为 CDI 的 Java 技术的一部分,该技术定义了类似于 Spring 的依赖注入标准。在 Spring 应用程序中,这两个注解的工作方式与 Spring 决定支持一些 JSR-299 注解的方式相同。