如何使用Kotlin绑定属性值?

时间:2018-09-07 17:52:35

标签: properties binding kotlin classpath

使用Java,我可以从application.properties文件中获取“ spring.datasource.url”键的值,如下所示:

@PropertySource("classpath:application.properties")
public class SpringJdbcConfig {
    @Autowired
    Environment environment;
    private final String URL = "spring.datasource.url";
    String dburl = environment.getProperty("spring.datasource.url");
}

使用kotlin,不可能这样:

@PropertySource("classpath:application.properties")
open class WebController {
    @Autowired
    var env: Environment ? = null
}

环境将不会引用PropertySource文件。 我如何在Kotlin中使用它?

1 个答案:

答案 0 :(得分:1)

对于要注入的字段,kotlin提供了lateinit关键字。

如果您想从配置中读取值,spring会为您提供@Value annotation

@Value("\${my.property.key}")
lateinit var myValue: String

请注意,在Java中,您可以将"${my.property.key}"用作“路径”,但是由于${}在kotlin中具有特殊含义,因此您必须使用$来对\进行转义