[SPRING] Spring : @Value 주석을 사용하여 인라인 문자열 목록을 삽입하는 방법 [duplicate]
SPRINGSpring : @Value 주석을 사용하여 인라인 문자열 목록을 삽입하는 방법 [duplicate]
@Value 주석을 사용하여 문자열 값 목록을 삽입하려면 어떻게해야합니까? 저는 Spring 4.1.2를 사용하고 있습니다.
난 노력 했어:
@Value(value = "top, person, organizationalPerson, user")
private List<String> userObjectClasses
그리고 인라인리스트를위한 spring el 문서를 기반으로 :
@Value(value = "{top, person, organizationalPerson, user}")
private List<String> userObjectClasses
이러한 시도는 목록의 유일한 요소로 지정된 값의 문자열 리터럴을 삽입합니다.
편집하다
이 경우 속성 파일을 읽지 않고 단순히 값을 하드 코딩 할 수 있기를 바랍니다. 이 방법은 다음보다 약간 덜 냄새가 난다.
private List<String> userObjectClasses = Arrays.asList(new String[] {"top", "person", "organizationalPerson", "user"});
과거에는 bean XML을 사용하여 bean을 연결 시켰습니다.이 경우 bean은 사용자 Object Classes 속성에 대한 공용 설정자가 있다고 가정합니다.
<property value="userObjectClass">
<list>
<value>top</value>
<value>person</value>
<value>organizationalPerson</value>
<value>user</value>
</list>
</property>
주석 기반 구성을 사용할 때 아날로그가 있습니까?
해결법
-
==============================
1.list.of.strings = 첫 번째, 두 번째, 세 번째는 속성 파일에서 가져 왔습니다.
list.of.strings = 첫 번째, 두 번째, 세 번째는 속성 파일에서 가져 왔습니다.
다음 SpEL을 사용하여 :
@Value("#{'${list.of.strings}'.split(',')}") private List<String> list;
편집하다
그렇다면 이러한 유형의 작업에 주석을 사용해야한다고 생각하지 않습니다. 일부 필드를 초기화하기 위해 모든 작업을 수행 할 수 있습니다. @PostConstruct를 사용하면됩니다.
from https://stackoverflow.com/questions/27390363/spring-how-to-inject-an-inline-list-of-strings-using-value-annotation by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring 부트를 사용하여 Intellij의 자산에 대한 라이브로드 (0) | 2019.04.09 |
---|---|
[SPRING] 스프링 부트 애플리케이션 시작시 H2 TCP 서버를 시작하는 방법은 무엇입니까? (0) | 2019.04.09 |
[SPRING] 다중 파일 파일 최대 크기 예외 - 스프링 부트 내장 된 바람둥이 (0) | 2019.04.08 |
[SPRING] TestNG 및 Spring 3 (0) | 2019.04.08 |
[SPRING] Repository에 대한 특정 DataSource를 설정하는 방법? (0) | 2019.04.08 |