반응형
Spring에서 속성의 문자열 배열을 바인딩하는 방법은 무엇입니까?
application.properties 파일에 다음이 있습니다.
some.server.url[0]=http://url
some.server.url[1]=http://otherUrl
@Bean 메서드 내에서 @Value 주석을 사용하여 속성 배열을 어떻게 참조합니까?
Tomcat 7과 Spring boot 1.4에서 Java 6을 사용하고 있습니다.
저도 당신이 말한 것과 같은 문제를 겪고 있었고 인덱스 폼을 사용하는 것은 저에게도 효과가 없었던 것 같습니다.
그 문제를 해결하기 위해 아래와 같은 일을 했습니다.
some.server.url = url1, url2
그런 다음 내가 단순히 사용하는 속성을 얻기 위해
@Value("${some.server.url}")
private String[] urls ;
스프링은 쉼표로 문자열을 자동으로 분할하고 배열을 반환합니다.AFAIK 이것은 에 소개되었습니다.Spring 4+
분리기를 원하지 않는다면 아래와 같이 SpEL을 사용해야 합니다.
@Value("#{'${some.server.url}'.split(',')}")
private List<String> urls;
여기서 구분자를 사용할 수 있습니다.
컬렉션을 사용할 수 있습니다.
@Value("${some.server.url}")
private List<String> urls;
구성 클래스를 사용하여 다른 클래스에 빈을 주입할 수도 있습니다.
@Component
@ConfigurationProperties("some.server")
public class SomeConfiguration {
private List<String> url;
public List<String> getUrl() {
return url;
}
public void setUrl(List<String> url) {
this.url = url;
}
}
다음 단계를 수행합니다.
@값("${some.server.url})" 개인 목록 URL;
@구성 속성("some.server") 공용 클래스 일부 구성 {
인스턴스 변수 'urls'에 대한 getter 및 setter가 있어야 합니다.
언급URL : https://stackoverflow.com/questions/38986127/how-to-bind-a-string-array-of-properties-in-spring
반응형
'programing' 카테고리의 다른 글
PowerShell에서 데이터 세트를 순환하려면 어떻게 해야 합니까? (0) | 2023.09.05 |
---|---|
AJAX 호출에 의해 삽입된 IE 8에서 HTML5 요소를 "활성화"하는 방법은 무엇입니까? (0) | 2023.09.05 |
시간 초과와 함께 사용자 입력 대기 중 (0) | 2023.09.05 |
Powershell: Receive-Job에서 출력 가져오기 (0) | 2023.09.05 |
구성 파일에 일반 텍스트로 mysql 암호를 저장하는 것보다 더 나은 접근 방식이 있습니까? (0) | 2023.09.05 |