全书目录

第四十五篇:Quarkus 完全指南 —— 冷启动疾行轻骑兵宇宙

第六章:CDI / ArC —— 骑兵编制体系,谁归谁调度要先定好

1 分钟 283 字 第 837 / 962 个阅读单元

Quarkus 的依赖注入基于 ArC,也就是它的 CDI 实现。

一个最常见的服务类:

java
package org.acme;

import jakarta.enterprise.context.ApplicationScoped;

@ApplicationScoped
public class GreetingService {

    public String message(String name) {
        return "hello " + name;
    }
}

然后在资源类里注入:

java
@Inject
GreetingService greetingService;

从心智上看,这像骑兵编制系统:

  • 谁是常驻部队
  • 谁在请求中使用
  • 谁能被统一调度

Quarkus 并不是拒绝 DI,而是把 DI 做得更贴合自身的构建期优化路线。

也正因如此,官方 CDI 参考里也明确提到:

Quarkus 做了很多 build-time 优化,因此并不是原样支持传统 CDI Portable Extensions。

这句话其实很关键。

它说明 Quarkus 的哲学是:

为运行时轻量化,可以对传统 Java 运行时习惯做结构性取舍。