gpt4 book ai didi

java - 仅使用 jar 中的某些类进行 CDI 注入(inject)

转载 作者:太空宇宙 更新时间:2023-11-04 10:24:26 24 4
gpt4 key购买 nike

我想将有用的 CDI 组件从项目移动到单独的 JAR 并在其他项目中重用它们。

是否有办法让 using 项目控制 JAR 中的哪些组件(例如生产者)在其容器中可用?

我正在寻找类似 beans.xml 的逆内容。类似于导入描述符。

我尝试过的:

  • 限定符:对于我来说,它们不太方便
  • JAR 中没有 CDI 注释的类(例如 @Produces)以及 using 项目中带有注释的空子类

还有其他想法吗?

最佳答案

@maress 好主意!

我必须做的一些细节:

  • 在 lib JAR 中
    • beans.xml :设置bean-discovery-mode="annotated"
    • @Alternative 注释所有“公共(public)”组件一个@...Scoped
    • 使用 @...Scoped 注释包含生成器方法的类以及生产者方法 @Alternative@Produces
    • 生成的类不需要用 @Alternative 进行注释
  • 在应用程序 JAR/WAR 中
    • beans.xml :列出 lib JAR 中所有必需的组件和生产者 <alternative>

关于java - 仅使用 jar 中的某些类进行 CDI 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50700830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com