在Spring中与appserver一起使用@Inject与Java EE 6不兼容

在Spring中与appserver一起使用@Inject与Java EE 6不兼容,spring,jakarta-ee,annotations,code-injection,Spring,Jakarta Ee,Annotations,Code Injection,当我将在不支持JavaEE6的Appserver中部署我的应用程序时,我可以在我的Spring应用程序中使用@Inject注释吗 @Inject是在JavaEE6中引入的,JavaEE5不支持它。因为它是由Spring本身提供的,所以它应该可以在任何支持注释的Java版本上使用。Spring具有相同的效果。因为它是由Spring本身提供的,所以它应该可以在任何支持注释的Java版本上使用。当您在Spring管理的组件(SpringBeans)中使用@Inject时,它的功能是由Spring实现的

当我将在不支持JavaEE6的Appserver中部署我的应用程序时,我可以在我的Spring应用程序中使用
@Inject
注释吗


@Inject
是在JavaEE6中引入的,JavaEE5不支持它。因为它是由Spring本身提供的,所以它应该可以在任何支持注释的Java版本上使用。

Spring具有相同的效果。因为它是由Spring本身提供的,所以它应该可以在任何支持注释的Java版本上使用。

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


JavaEE 6中的
@Inject
支持由应用服务器(EJB等)管理的组件。

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


JavaEE 6中的
@Inject
支持由应用服务器(EJB等)管理的组件。

在下面的示例中,可以使用JSR 330的@Inject注释代替Spring的@Autowired@Inject没有必需的属性,这与Spring的@Autowire注释不同,后者有一个必需的属性来指示所注入的值是否是可选的。如果类路径上有JSR330 JAR,则会自动启用此行为

spring文档


在下面的示例中,JSR330的@Inject注释可以代替Spring的@Autowired@Inject没有必需的属性,这与Spring的@Autowire注释不同,后者有一个必需的属性来指示所注入的值是否是可选的。如果类路径上有JSR330 JAR,则会自动启用此行为

spring文档


简而言之,你可以。如果您使用的是Spring(>=Version3),Spring将基于其bean的@Inject注释执行依赖项注入


从长远来看,这完全取决于你所说的“可以使用”是什么意思。注释只是一个元数据。没有人阻止您使用@Inject执行完全不相关的功能,只要您检查注释并做任何您想做的事情,简而言之,您可以。如果您使用的是Spring(>=Version3),Spring将基于其bean的@Inject注释执行依赖项注入


从长远来看,这完全取决于你所说的“可以使用”是什么意思。注释只是一个元数据。没有人阻止你使用@Inject执行完全无关的功能,只要你检查注释并做任何你想做的事

是的,我知道。因此,如果没有与Java EE 6兼容的AppServer?@MyTitle,就不可能使用
@Inject
,因为
javax.Inject.Inject
类在Java 5中不存在,您需要在Java 6 JRE上运行。AppServer本身可能不需要任何特殊支持。是的,我知道。因此,如果没有与Java EE 6兼容的AppServer?@MyTitle,就不可能使用
@Inject
,因为
javax.Inject.Inject
类在Java 5中不存在,您需要在Java 6 JRE上运行。不过,AppServer本身可能不需要任何特殊支持。