Quarkus / CDI和“ java config” DI定义

时间:2019-10-24 14:59:53

标签: cdi quarkus

我刚刚开始了夸夸其谈的概念证明。容器启动的时间太神奇了!

现在,我正在研究依赖注入部分。并找出选项。

https://quarkus.io/blog/quarkus-dependency-injection/

我的偏好是:

我更喜欢构造函数注入。 (一切正常)。

我更喜欢“ java config”,因此可以遵循“ Composition Root”模式,将所有应用程序依赖项注入放在一个公共位置。 (请参见https://blog.ploeh.dk/2011/07/28/CompositionRoot/

使用Spring DI可以通过

完成
  

org.springframework.context.annotation.Configuration

并在那里声明Bean。

再说一遍,我不想在整个类中都放置“ @ApplicationScoped”注释。

CDI / Quarkus是否支持“ java config”模型?我问有关quarkus的原因是,我阅读quarkus的CDI实现方式有限。

  

//开始报价//我们的主要目标是实现超音速   与CDI兼容的面向构建时的DI解决方案。这将允许   用户继续在其应用程序中使用CDI,但也可以利用   Quarkus的构建时优化。但是,ArC不是完整的CDI   由TCK验证的实施-另请参阅支持的列表   功能和限制列表。//结束引号

所以我的问题不只是CDI问题。

我尝试了不同的互联网搜索词,但是它们一直向我显示Spring链接。 :(

1 个答案:

答案 0 :(得分:1)

您应该创建一个将生成您的bean的CDI bean,这是Spring所谓的Java配置的标准CDI方法。

像这样

import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Produces;


@ApplicationScoped
public class MyConfiguration {
    @Produces
    public MyBean myBean(){
        return new MyBean();
    }
}