@Inject
当我将我的应用程序部署在不支持 Java EE 6 的 Appserver 中时,我可以在我的 Spring 应用程序中使用 注解吗?
@Inject
在 Java EE6 中引入,Java EE 5 不支持
@Inject
当我将我的应用程序部署在不支持 Java EE 6 的 Appserver 中时,我可以在我的 Spring 应用程序中使用 注解吗?
@Inject
在 Java EE6 中引入,Java EE 5 不支持
当您@Inject
在由 Spring(Spring bean)管理的组件中使用时,它的功能由 Spring 实现,因此您不需要任何其他东西来使其工作。
@Inject
JavaEE 6 中的支持是关于由应用程序服务器(EJB 等)管理的组件。
在下面的示例中,可以使用 JSR 330 的 @Inject 注释代替 Spring 的 @Autowired。@Inject 没有必需的属性,这与 Spring 的 @Autowire 注释不同,后者有一个必需的属性来指示注入的值是否是可选的。如果您在类路径中有 JSR 330 JAR,则会自动启用此行为。
弹簧文档......
http://static.springsource.org/spring/docs/3.0.0.RC2/reference/html/ch03s09.html
Spring 有一个同义@Autowired
注解,具有相同的效果。由于它是由 Spring 本身提供的,因此它应该可以在任何支持注解的 Java 版本上使用。
简而言之,你可以。如果您使用的是 Spring(>= 版本 3),Spring 将根据其 bean 的 @Inject 注释执行其依赖注入。
总而言之,这完全取决于“可以使用”是什么意思。注释不过是元数据。没有人能阻止你使用 @Inject 来执行一个完全不相关的功能,只要你检查注解并做任何你想做的事