복붙노트

[SPRING] List와 함께 PropertyPlaceholderConfigurer 사용

SPRING

List와 함께 PropertyPlaceholderConfigurer 사용

속성 파일에서 String 값을 매핑하는 PropertyPlaceholderConfigurer를 사용하고 있습니다.

내 질문은 내 속성 파일에 뭔가를 설정할 수 있습니다 : myList = A, B, C

그런 다음 목록에 매핑하십시오.

@Value("${myList}")
private List<String> myList;

나는 그것을 시도 할 때 모든 값을 목록의 한 위치에 넣습니다. 이것을 ","에 의해 목록으로 나눌 수있는 방법이 있습니까?

해결법

  1. ==============================

    1.스프링 표현식 언어 사용하기 :

    스프링 표현식 언어 사용하기 :

     @Value("#{'${myList}'.split(',')}") 
     private List<String> myList;
    

    속성 파일에 myList = A, B, C가 있으면 myList (코드에서) 값이 A, B 및 C가됩니다.

  2. ==============================

    2.Spring Expression Language Features에 대한 링크에서 6.5.3 (Inline Lists)과 6.5.4 (Array Construction) 섹션을보십시오.

    Spring Expression Language Features에 대한 링크에서 6.5.3 (Inline Lists)과 6.5.4 (Array Construction) 섹션을보십시오.

    링크에서 :

    // evaluates to a Java list containing the four numbers
    List numbers = (List) parser.parseExpression("{1,2,3,4}").getValue(context); 
    
    List listOfLists = (List) parser.parseExpression("{{'a','b'},{'x','y'}}").getValue(context);
    

    PropertyPlaceholderConfigurer와 결합하여 @Value 주석을 사용하는 것과 똑같이 작동하는지 확신 할 수 없지만 한 번 볼만한 가치가 있습니다.

  3. from https://stackoverflow.com/questions/9584247/use-propertyplaceholderconfigurer-with-list by cc-by-sa and MIT license