You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Kotlin Bean DSL为Bean注入@Value配置值

在Kotlin Beans DSL中实现@Value配置注入

要实现和你提供的Java代码等效的Kotlin Beans DSL配置,有两种常用方式:

方法1:直接使用Environment获取配置

在beans DSL的作用域内,可以直接访问environment对象,通过它获取配置属性,这和@Value的底层逻辑一致:

val beans = beans {
    bean {
        // getRequiredProperty会在配置不存在时抛出异常,和@Value默认行为一致
        val foo = environment.getRequiredProperty("foo")
        Thing(foo)
    }
}

如果允许配置项为空,可以使用getProperty并指定默认值:

val foo = environment.getProperty("foo") ?: "default-value"

方法2:使用value属性委托

Spring Kotlin DSL提供了value委托,语法更贴近@Value注解的写法:

val beans = beans {
    bean {
        val foo: String by value("\${foo}")
        Thing(foo)
    }
}

也可以用Kotlin原生字符串避免转义$符号:

val foo: String by value("""${foo}""")

这个委托会自动处理配置解析,和@Value注解的效果完全一致。

内容的提问来源于stack exchange,提问作者Christian Bongiorno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 23:01:14