我正在使用 weld
,CDI 的 RI 作为我的 JSF-EJB-JPA 网络应用程序中的依赖项注入(inject)组件。我在我的项目中看到 META-INF/beans.xml
中有空 beans.xml在ejb.jar
和 WEB-INF/beans.xml
在我的 war 中。我不明白为什么我们需要留空 beans.xml
当该文件中没有任何定义时?
最佳答案
CDI 需要在启动时扫描 bean 存档的所有类并触发一系列事件,因为几乎所有类都自动成为托管 bean(阅读更多 here ),即使它没有任何注释.
这会产生相当大的开销,特别是对于不打算包含任何 bean 的 jar 文件,因此通过包含 beans.xml
来显式指示应该扫描哪些 bean 文件是有益的。 .
关于java - 在 CDI 实现项目中包含空 beans.xml 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18131206/