当前位置: 首页 > 知识库问答 >
问题:

Kwkus/CDI和"java配置"DI定义

文德曜
2023-03-14

我刚开始一个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.配置

宣布豆子在那里。

Aka,我不喜欢在我的类中放置“@ApplicationScoped”注释。

CDI/Quarkus支持“java配置”模型吗?我问Quarkus的原因是我听说Quarkus的CDI实现有限。

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

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

我尝试过不同的互联网搜索词,但它们不断向我显示Spring链接(

共有1个答案

子车才捷
2023-03-14

您应该创建一个CDIBean来生成您的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();
    }
}
 类似资料:
  • 3.1.1 依赖和依赖注入 传统应用程序设计中所说的依赖一般指“类之间的关系”,那先让我们复习一下类之间的关系: 泛化:表示类与类之间的继承关系、接口与接口之间的继承关系; 实现:表示类对接口的实现; 依赖:当类与类之间有使用关系时就属于依赖关系,不同于关联关系,依赖不具有“拥有关系”,而是一种“相识关系”,只在某个特定地方(比如某个方法体内)才有关系。 关联:表示类与类或类与接口之间的依赖关系,

  • 我使用java配置来配置Spring Security,并定制了AuthenticationProvider和UserDetailsService,以便在http://forum.Spring.io/forum/spring-projects/Security/95715-extrate-login-fields之后添加额外的登录字段 我很难通过使用java配置将这两个定制类添加到Spring S

  • 因此,假设我有一个在 DI 中注册的单例类实例,如下所示: 假设类有许多其他依赖项(大多数是允许它加载数据的存储库类)。 按照我目前的理解,Foo实例直到第一次被使用(询问)时才被创建。除了构造函数之外,还有别的方法初始化这个类吗?就像在< code>ConfigureServices()完成之后?还是应该在Foo的构造函数中完成初始化代码(从db加载数据)? (如果这个类可以在第一次使用之前加载

  • 1. 前言 本小节目的在于带领大家学习xml 文件配置,应用 xml 文件配置 IoC。 在第二节中我们通过一个入门工程简单的体验了一把 Spring 的使用。在第三节中梳理了一下 Spring 的工作流程。 可能大家有了一个初步认知,Spring 框架的工作脱离不了核心配置文件 applicationContext.xml。 在配置文件中我们目前只用到了一个 bean 标签,而它的作用大家也明白

  • 你可能会想知道系统提示您登录时登录表单从哪里来的,因为我们都没有提供任何的HTML或JSP文件。由于Spring Security的默认配置并没有明确设定一个登录页面的URL,Spring Security自动生成一个,基于这个功能被启用,使用默认URL处理登录的提交内容,登录后跳转的URL等等。 自动生成的登录页面可以方便应用的快速启动和运行,大多数应用程序都需要提供自己的登录页面。要做到这一点

  • 配置和自定义DevTools 更改DevTools的外观并访问隐藏的功能。 TL;DR 打开主菜单和设置菜单。 自定义DevTools的外观。 访问隐藏的功能。 打开主菜单 DevTools的主菜单是一个下拉菜单,用于配置DevTools的外观,访问附加工具,打开设置,等等。 要打开主菜单,单击DevTools窗口右上角的主菜单单按钮。 打开设置 要打开DevTools设置,当DevTools在获