0

@Inject当我将我的应用程序部署在不支持 Java EE 6 的 Appserver 中时,我可以在我的 Spring 应用程序中使用 注解吗?

@Inject在 Java EE6 中引入,Java EE 5 不支持

4

4 回答 4

3

当您@Inject在由 Spring(Spring bean)管理的组件中使用时,它的功能由 Spring 实现,因此您不需要任何其他东西来使其工作。

@InjectJavaEE 6 中的支持是关于由应用程序服务器(EJB 等)管理的组件。

于 2012-10-15T05:38:25.490 回答
0

在下面的示例中,可以使用 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

于 2012-10-15T05:38:38.347 回答
0

Spring 有一个同义@Autowired注解,具有相同的效果。由于它是由 Spring 本身提供的,因此它应该可以在任何支持注解的 Java 版本上使用。

于 2012-10-15T05:15:46.553 回答
0

简而言之,你可以。如果您使用的是 Spring(>= 版本 3),Spring 将根据其 bean 的 @Inject 注释执行其依赖注入。

总而言之,这完全取决于“可以使用”是什么意思。注释不过是元数据。没有人能阻止你使用 @Inject 来执行一个完全不相关的功能,只要你检查注解并做任何你想做的事

于 2012-10-15T06:01:03.617 回答