注入没有范围注释的Bean

时间:2020-06-29 12:35:46

标签: dependency-injection cdi javabeans quarkus

我是quarku的新手,并且有一个关于quarkus依赖注入的问题。

我在一个将应用程序迁移到quarkus的项目中。旧的应用程序使用spring并在JBoss上运行。我的目标是将其迁移到quarkus。几周以来,我一直面临有关依赖注入的问题。旧的应用程序使用外部xml文件配置这些bean(例如它们的作用域...)。因此,除了每个@Bean上的@Named之外,Bean类中没有注释。我当前的问题是我无法修改某些依赖项来添加批注(例如@ Requestscoped,@ ApplicationScoped ...),因此我可以将它们注入类中,因为它们是外部依赖项。 quarku是否可以在不修改定义这些bean的类的情况下向bean添加注释?

谢谢。

预期行为: 能够将仅具有@Named批注的bean注入我的代码中。

实际行为: 没有注入Bean,因为它们没有@ RequestScoped,@ Dependent ...批注

quarkus版本:1.5.1.FINAL

java -version的输出: openjdk版本“ 1.8.0_252” OpenJDK运行时环境(采用OpenJDK)(内部版本1.8.0_252-b09) OpenJDK 64位服务器VM(AdoptOpenJDK)(内部版本25.252-b09,混合模式)

mvn --version的输出: Apache Maven 3.6.3(cecedd343002696d0abb50b32b541b8a6ba2883f) Maven主页:C:\ MAVEN \ apache-maven-3.6.3 \ bin .. Java版本:1.8.0_252,供应商:AdoptOpenJDK,运行时:C:\ Program Files \ AdoptOpenJDK \ jdk-8.0.252.09-hotspot \ jre 默认语言环境:en_IE,平台编码:Cp1252 操作系统名称:“ windows 10”,版本:“ 10.0”,拱门:“ amd64”,家族:“ windows”

1 个答案:

答案 0 :(得分:1)

没有配置属性。但是,您可以编写a Quarkus extension来利用build-time APIs来转换类的注释,可能基于外部文件配置。