一尘不染

在Spring Framework中@Inject和@Autowired有什么区别?在什么条件下使用哪一个?

java

我正在SpringSource上浏览一些博客,在其中一个博客中,作者正在使用@Inject,我想他也可以使用@Autowired

这是一段代码:

@Inject private CustomerOrderService customerOrderService;

我不知道之间的区别@Inject@Autowired,如果有人解释他们的区别将不胜感激,什么情况下要使用哪一个?


阅读 367

收藏
2020-03-23

共1个答案

一尘不染

假设这里是指javax.inject.Inject注释。@Inject是Java EE 6(JSR-299)中引入的Java CDI(上下文和依赖项注入)标准的一部分,更多内容。Spring选择支持@Inject与自己的@Autowired注释同义使用。

因此,为了回答你的问题,这@AutowiredSpring自己的注释。@Inject是Java新技术CDI的一部分,该技术定义了类似于Spring的依赖项注入标准。在Spring应用程序中,这两个批注的工作方式与Spring决定除了支持自己的某些JSR-299批注一样。

2020-03-23