java - quarkus 中的程序化运行时注入/自动装配
问题描述
我正在寻找一种在 Quarkus 中进行 bean 运行时注入的方法。我意识到这对于 quarkus 可能有点非正统方法,并且是反模式,所以无需指出这一点,我完全清楚:)
我正在寻找的是一种在运行时构造 bean 的方法,并从 Quarkus 上下文中注入任何带注释的属性。
在 Spring Boot 中,我将通过 Spring Boot 正常初始化 bean 来获取应用程序上下文,使用ApplicationContextAware接口注入应用程序上下文。然后,我将通过调用ApplicationContext.getAutowireCapableBeanFactory()将其用作工厂来获取自动装配工厂,并使用工厂上的autowireBean方法在运行时自动装配我的 bean。我想知道在 Quarkus 中是否有类似的可能?
解决方案
这类似于这个问题。 如何以编程方式将 Java CDI 托管 bean 注入(静态)方法中的局部变量
javax.enterprise.inject.spi.CDI.current().getBeanManager().select(C.class).get()
要确保对 bean 类进行管理,请使用io.quarkus.arc.Unremovable
注释。
推荐阅读
- python - 如何优化大型列表的功能合并排序
- android - 如何在 IntelliJ IDEA for Flutter 中编辑 Android 代码
- javascript - 有没有办法在javascript中重新组织以下数组?
- php - 无法在其他文件中使用 $_SESSION (PHP)
- c# - Windows server 2012 上的 MSMQ 远程专用队列
- python - 在张量流 keras 中动态组合损失函数
- javascript - 如何使用外部选择下拉组件在 React Leaflet Map 上选择区域
- asp.net-core - asp net core 2.1上的错误500身份验证
- google-cloud-platform - 将秘密存储为云构建环境变量
- regex - 具有多行匹配的正则表达式(字幕字符串)