首页 > 解决方案 > ConfigProperty 未将值注入字段

问题描述

我是 quarkus 环境的新手。我有一个 quarkus 应用程序,我正在尝试使用

org.eclipse.microprofile.config.inject.ConfigProperty

这是示例代码

public class Temp {

    @ConfigProperty(name = "secret.token")
    static String SECRET_KEY;

    public void display() {
        System.out.println(SECRET_KEY);
    }
}

这是我的 application.properties 的内容

secret.token = ${TOKEN_SECRET:Root}

这里的显示方法总是打印空值。事情是相同的属性被正确地注入到控制器/资源端点类中,但不在这个类中。我也尝试使用@Inject 和@ConfigProperty,但没有运气。任何指针都会有帮助。

标签: javaresteasyquarkusquarkus-rest-clienteclipse-microprofile-config

解决方案


使用注释的类需要是 CDI bean。

实现这一点的最简单方法是使用类注解@Singleton和使用类,例如使用类@Inject Temp temp的任何地方。

有关CDI 的介绍,请参见https://quarkus.io/guides/cdi


推荐阅读