我只是想知道@Inject & @Autowired 什么时候使用每一个?或者他们在做同样的事情?@Inject和@Autowired有什么区别
,如果我有一个Spring bean它有一个范围:
@Service
@Scope("singleton")
我可以依赖注入其既没有问题?
在此先感谢。
我只是想知道@Inject & @Autowired 什么时候使用每一个?或者他们在做同样的事情?@Inject和@Autowired有什么区别
,如果我有一个Spring bean它有一个范围:
@Service
@Scope("singleton")
我可以依赖注入其既没有问题?
在此先感谢。
从我所知道的,他们也是这样做的。 @Inject是来自javax.inject的注释,它只是依赖注入的API。在Spring中,您可以同时使用两者,因为我认为Spring为@Inject提供了一个实现,它与Spring环境中的@Autowired做了相同的事情。
马蒂亚斯Wessendorf博客上讲述这个位置:http://matthiaswessendorf.wordpress.com/2010/04/20/spring-3-0-and-jsr-330-part-2/
如何阅读the documentation?
JSR 330的@Inject注解来代替Spring的 在下面的例子中@Autowired使用。 @Inject不具有所需的 属性,而Spring的@Autowired注释具有所需的 属性,以指示注入的值是否可选。如果您在 类路径中拥有JSR 330 JAR,则会自动启用此 行为。
我认为这是值得指出的是,如果你使用@Autowired
,你是在春天,在使用@Inject
创建的依赖,你将能够换出另一种依赖注入框架,支持JSR 330
。
1)@Inject - 定义在javax.inject包和Java的一部分中。
2)@Autowired - 定义在包org.springframework.bean.factory和Spring框架的一部分。
首先,@Autowired由Spring框架的定义,但@Inject是从哪里来的 “Java依赖注入”(JSR-330)”
二,@Inject不采取必要的属性,所以如果它未能找到任何bean时,它将失败,错误,但@Autowired可以拿出所需= false,并且将允许为空的字段。
三,@Inject注释的优点是,而不是直接注入参考,你可以让@Inject注入一个提供者。提供者接口除其他外,还可以延迟注入bean引用和注入bean的多个实例。
请进一步澄清? –
您需要进一步澄清的地方? –
关于在Spring应用程序中使用@Inject,如果这是一个问题或不好的做法? –