quarkus - 无法使用 quarkus 注入(inject)配置属性

标签 quarkus

我正在尝试从 Spring 迁移现有的应用程序,但我遇到了一些问题。我的 application.properties 中有这个:

sms.gateway.pinLength = 5

加载该属性的类如下:

import io.quarkus.arc.config.ConfigProperties;

@ConfigProperties(prefix="sms.gateway")
public class SmsGatewayConfig {

    public Integer pinLength;

    public Integer getPinLength() {
        return pinLength;
    }

    public void setPinLength(Integer pinLength) {
        this.pinLength = pinLength;
    }
}

这会触发错误消息:

No config value of type [java.lang.Integer] exists for: sms.gateway.pin-length

如果我将配置文件中的 pinLength 更改为 pin-length,同样的代码也可以工作。此外,如果我将此代码更改为以下内容,它也可以正常工作:

import javax.enterprise.context.ApplicationScoped;
import org.eclipse.microprofile.config.inject.ConfigProperty;

@ApplicationScoped
public class SmsGatewayConfig {

    @ConfigProperty(name="sms.gateway.pinLength")
    public Integer pinLength;

    public Integer getPinLength() {
        return pinLength;
    }

    public void setPinLength(Integer pinLength) {
        this.pinLength = pinLength;
    }
}

我错过了什么?这在 Spring 中运行良好。

最佳答案

试一试:

@ConfigProperties (namingStrategy = NamingStrategy.VERBATIM)

https://github.com/quarkusio/quarkus/wiki/Migration-Guide-1.2 (配置属性 session )

关于quarkus - 无法使用 quarkus 注入(inject)配置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60551973/

相关文章:

java - Quarkus:如何将复制的 SQL 数据库与读/写实例连接起来?

java - Quarkus 验证来自多个来源的 JWT

java - 在 Quarkus 中捕获 Hibernate 异常

Quarkus Graalvm native 应用程序 ClassNotFoundException com.sun.xml.internal.ws.spi.ProviderImpl

java - 由于未找到 DayOfWeek,Quarkus 测试在 native 中失败

java - 在 Quarkus-Camel 中的任何其他类之前调用​​一个类

Quarkus - 如何为从 Maven Runner 运行的应用程序提供 Java 参数?

java - Quarkus 延迟初始化

java - MicroProfile : how inject list of custom object 的配置

java - 带有非可选参数的基于 Quarkus 注释的拦截器