java - 如何限制 CDI 认为是托管 bean?

标签 java jakarta-ee cdi weld

我在多年使用 spring 的过程中遇到了这个问题,并且刚刚开始研究 JEE7 和 CDI。

在 Spring 世界中,您必须将 @Component 粘贴到 bean 上才能变成 spring bean,spring 将注入(inject)依赖项,但在 CDI 中似乎没有 @Component 的等价物

对我来说,CDI 似乎意味着我的 Web 应用程序中的每个类都将被视为一个 CDI bean,这似乎是不可取的,因为我有很多未使用注入(inject)的 java 类,我不希望有人只是坚持 @Inject 在这些类中,让 CDI 发挥它的魔力。

两个问题:

  • 如何限制 CDI 认为是 jar 文件中的托管 bean?
  • CDI 将每个 bean 都视为托管 bean 有什么好处?

最佳答案

请参阅 beans.xml 中有关 bean-discovery-mode 的文档。此属性仅在 JEE7 中可用,在 JEE6 中不可用。

关于java - 如何限制 CDI 认为是托管 bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20039234/

相关文章:

java - 电子邮件列表的正则表达式模式

jakarta-ee - struts 2.3 jar 调度程序初始化失败

jakarta-ee - 远程 EJB 调用上的事务

jsf-2 - 在 JBoss AS7 堆栈(JSF2、CDI、JPA2、Seam?)上拥有 ViewScope 和避免 LazyInitializationException 的最简单方法

java - Bean 的 CDI @TransactionAttribute

java - Hook 到 System.out.println();并修改

java - 收到一次经纬度后如何停止这个GPS?

java - 我应该始终对类字段使用私有(private)访问修饰符吗?

Java - 引用实现与 3d 方供应商提供的实现

java - Maven、CDI、JUnit、JPA。想要针对 HSQLDB 运行测试