小编典典

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

all

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

这是一段代码:

@Inject private CustomerOrderService customerOrderService;

我不确定和之间的区别,如果有人解释了他们的区别@Inject以及@Autowired在什么情况下使用哪个,我将不胜感激?


阅读 103

收藏
2022-03-02

共1个答案

小编典典

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

因此,要回答您的问题,@Autowired是 Spring 自己的注释。@Inject是称为 CDI 的 Java 技术的一部分,该技术定义了类似于
Spring 的依赖注入标准。在 Spring 应用程序中,这两个注解的工作方式与 Spring 决定支持一些 JSR-299 注解的方式相同。

2022-03-02