У меня ниже POJO в Java, который используется в загрузочном приложении Spring для вставки свойств из YML во время запуска приложения. Пытаюсь преобразовать приложение в Kotlin
, но мне трудно реализовать значения, введенные при преобразовании POJO в класс данных.
@Component
@ConfigurationProperties("rest")
@Data
public class RestProperties {
private final Client client = new Client();
@Data
public static class Client {
private int defaultMaxTotalConnections;
private int defaultMaxConnectionsPerRoute;
private int defaultReadTimeout;
}
}
Я пробовал приведенное ниже решение, но не сработало.
@Component
@ConfigurationProperties("rest")
class RestProperties {
val client = Client()
class Client() {
constructor(
defaultMaxTotalConnections: Int,
defaultMaxConnectionsPerRoute: Int,
defaultReadTimeout: Int
) : this()
}
}
@Component
@ConfigurationProperties("rest")
class RestProperties {
val client = Client()
class Client {
var defaultMaxTotalConnections: Int = 50
set(defaultMaxTotalConnections) {
field = this.defaultMaxTotalConnections
}
var defaultMaxConnectionsPerRoute: Int = 10
set(defaultMaxConnectionsPerRoute) {
field = this.defaultMaxConnectionsPerRoute
}
var defaultReadTimeout: Int = 15000
set(defaultReadTimeout) {
field = this.defaultReadTimeout
}
}
}
второй код работает, но значения не вводятся из YML. Ценю вашу помощь.