当前位置: 首页 > 知识库问答 >
问题:

CDI@ApplicationScoped bean在Spring

涂选
2023-03-14

我有一个用@ApplicationScoped注释的CDIBean。有没有一种方法可以告诉Spring在组件扫描期间拾取它,就像它被@component注释一样?Spring确实理解@Inject注释,那么为什么不@ApplicationScoped呢?

这个想法是,在Spring中使用CDI bean会很方便(至少如果他们只使用普通的依赖注入,而没有像拦截器、装饰器这样花哨的CDI东西...)

共有1个答案

拓拔俊德
2023-03-14

您的代码是如何构造的还不完全清楚,如果可能的话,也可以使用@组件对其进行注释。Spring中的组件bean与应用程序范围的bean具有类似的属性。Spring中bean的默认作用域是singleton,可以代理它,类似于@ApplicationScoped将提供的功能。

Spring确实理解@Inject注释,那么为什么不@ApplicationScoped呢?

Spring提供了对JSR330注释的支持,@ApplicationScoped也不是其中的一部分。

 类似资料:
  • JSR-299 规范简称 CDI(Contexts and Dependency Injection,上下文与依赖注入) TCK 是 Technology Compatibility Kit 的缩写。

  • 问题内容: 我试图找出一种将bean注入方面的方法。 我的意思是 作为使用Arquillian + Wildfly 8.2.1(托管和远程)的JUnit测试执行,我得到以下日志行: 我收到错误后不久 如果我做对了,它会抱怨Aspectjrt.jar不在类路径中,尽管我已经检查过并在依赖项中得到了它(使用Maven构建)。处于范围内,试图切换到但没有任何更改。 谁能帮我解决这个问题? 编辑:解决了最

  • 我的环境:weblogic 12c 使用jpa2.1补丁设置:SET PRE\u CLASSPATH=%MW\u HOME%\oracle\u common\modules\javax。持久性2.1。jar;%MW\U HOME%\wlserver\modules\com。神谕weblogic。jpa21support_1.0.0.0_2-1。罐子 我的ear/APP-INF/lib包含: 我的p

  • 我正在制作一个基于Java EE的产品,其中我使用了GlassFish 3和EJB 3.1。 我的应用程序有会话bean,一个调度程序,并且使用web服务。我最近了解了Apache TomEE,它支持上下文和依赖注入(CDI)。GlassFish容器也支持CDI。 如果我不需要CDI也不提供的任何特性,我可以替换会话bean吗?如果那样的话,我能得到什么好处呢?

  • Spring Data Elasticsearch repositories也可以使用CDI注入。 Example 36. Spring Data Elasticsearch repositories using JavaConfig(使用JavaConfig) class ElasticsearchTemplateProducer { @Produces @Applicatio

  • 为了使用Weblogic 12.1.3 server的CDI beans下的@Transactional annotation启用CDI JTA事务,是否需要进行任何其他配置? 我尝试将注释添加到服务方法中,但EntityManager没有识别出它是在事务下运行的。 是否有拦截器或其他需要注册的东西?