我正在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是Java新技术CDI的一部分,该技术定义了类似于Spring的依赖项注入标准。在Spring应用程序中,这两个批注的工作方式与Spring决定除了支持自己的某些JSR-299批注一样。
Spring