首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在EE6上下文和Spring DI上下文中使用的带注解的类

在EE6上下文和Spring DI上下文中使用的带注解的类
EN

Stack Overflow用户
提问于 2013-08-16 17:16:16
回答 1查看 640关注 0票数 0

我有一个关于jar的问题,这个jar声明了带注释的beans,并在spring上下文和EE6上下文中使用。

这个jar,比方说service.jar,包含用限定符注释的类(@Qualifier,允许您声明自己的注释,如@DataAccessObject,以便标识您的bean),并具有用@Inject注释的私有成员。

它是用maven编译的,并且它对javax.javaee-api的依赖被声明为provided,因为只有在EE6上下文中部署时才需要这些类。

不过,有件事我不明白。在这个service.jar中,一旦编译,无论我是否将其部署在EE6上下文中,字节码都会引用诸如javax.inject.@Inject之类的类。

那么,为什么我的spring应用程序-它的类路径中没有javax.javaee-api jar -能够正确地加载其配置并运行呢?当我了解到spring提供了对@Inject (JSR330)注释的支持时,我更加困惑了。

有人能在这方面给我一些启发吗?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-08-17 13:23:43

您不能混淆DI (JSR330)和CDI (JSR299)。CDI包括DI。所有这些javax.inject注解都属于DI,并被许多框架(例如spring和guice )支持。

如果严格减少jar对JSR330的依赖(部署时不需要切换Java ),那么您将能够使用任何支持框架。

查看此示例:http://www.mkyong.com/spring3/spring-3-and-jsr-330-inject-and-named-example/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18269873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档