Как я могу связать значения свойств с помощью Kotlin? - PullRequest
0 голосов
/ 07 сентября 2018

Используя Java, я могу получить значение ключа "spring.datasource.url" из файла application.properties, например:

@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 голосов
/ 07 сентября 2018

Для полей, которые вводятся, kotlin предоставляет ключевое слово lateinit.

Если вы хотите прочитать значение из вашей конфигурации, Spring предлагает вам аннотацию @ Value

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

Обратите внимание, что в Java вы можете использовать "${my.property.key}" в качестве "пути", но поскольку ${} имеет особое значение в kotlin, вы должны экранировать $ с помощью \

...