Micronaut 使用 @Value 访问 application.yml

Cor*_*zio 0 kotlin micronaut

你好,我有一个带有这个 application.yml 的 micronaut 应用程序

micronaut:
    application:
        name: hello-world
pref:
    msg: Luca
Run Code Online (Sandbox Code Playgroud)

在一个类中我想设置一个变量的值:

@Value("${pref.msg}")
private lateinit var text : String
Run Code Online (Sandbox Code Playgroud)

但是 IDE 抱怨说注释参数必须是编译时常量

我也试过

@Property(name = "pref.msg" )
Run Code Online (Sandbox Code Playgroud)

但它编译但不读取属性。

任何人都可以帮忙吗?

noi*_*ale 6

您需要$使用反斜杠转义字符,因为 kotlin 使用美元进行模板表达。

@Value("\${pref.msg}")
Run Code Online (Sandbox Code Playgroud)