Вот код:
Код: Выделить всё
// application.yml
kis:
domain: ${KIS_DOMAIN:domain}
appkey:
- ${KIS_APPKEY_1:appkey}
- ${KIS_APPKEY_2:appkey}
appsecret:
- ${KIS_APPSECRET_1:appsecret}
- ${KIS_APPSECRET_2:appsecret}
web-socket-domain: ${KIS_WEBSOCKET_DOMAIN:domain}
< /code>
// KisProperties.java
@Component
@ConfigurationProperties(prefix = "kis")
@Getter
@Setter
@ToString
public class KisProperties {
private String domain;
private String webSocketDomain;
private List appkey;
private List appsecret;
...
}
< /code>
Когда я запускаю этот код в Spring Boot Version 3.4.0, я получаю следующую ошибку: < /p>
Description:
Binding to target [Bindable@651a3e01 type = java.util.List, value = 'provided', annotations = array[[empty]], bindMethod = [null]] failed:
Property: kis.appkey[1]
Value: "===hidden==="
Origin: System Environment Property "KIS_APPKEY_1"
Reason: The elements [kis.appkey[1],kis.appkey[2]] were left unbound.
Property: kis.appkey[2]
Value: "===hidden==="
Origin: System Environment Property "KIS_APPKEY_2"
Reason: The elements [kis.appkey[1],kis.appkey[2]] were left unbound.
Action:
Update your application's configuration
< /code>
Это выводит, что он не может связывать в формате списка.
Я пытался преобразовать его в строку [] через официальную весеннюю документацию или использование < /code> в качестве сепаратора вместо -< /code>, но это не решало проблему, поэтому я оставляю свой вопрос. Используя @Value ("$ {kis.appsecret [0]}") private appsecret0
[*] Почему журналы ошибок увеличиваются из индекса 1, например, kis.appkey [1] ? успешно. Похоже, нет существенной разницы в соответствии с официальной документацией.
Как я могу ее решить?>
Подробнее здесь: https://stackoverflow.com/questions/794 ... cation-yml