[SPRING] 주석 속성의 값은 상수 표현이어야합니다.
SPRING주석 속성의 값은 상수 표현이어야합니다.
나는 스프링 애노테이션으로 읽은 속성 파일을 가지고있다.
@Value("${platform}")
private String platform;
플랫폼 매개 변수를 얻은 후에 플랫폼 매개 변수 값에 따라 두 번째 매개 변수를 읽으 려합니다.
@Value("${url." + platform + ."ws}")
private String url;
그러나 이것은 "annotation 속성의 값은 상수 표현이어야합니다"라는 오류를 발생시킵니다. "플랫폼"값에 따라 많은 매개 변수 변경이 있으므로 일반 솔루션을 찾고 있습니다.
해결법
-
==============================
1.이 매개 변수는 컴파일 타임에 평가됩니다. 그래서 다른 사람들 (즉, 열거 형) 사이에서 최종 또는 정적 최종이어야합니다.
이 매개 변수는 컴파일 타임에 평가됩니다. 그래서 다른 사람들 (즉, 열거 형) 사이에서 최종 또는 정적 최종이어야합니다.
@Value 주석으로 허용되는지 여부는 알 수 없습니다. 그러나 언제나 자신 만의 어노테이션을 구현할 수 있습니다. 확장은 Java 주석에서 가능하지 않습니다.
-
==============================
2.@Value 표현식에서는 플랫폼에 직접 액세스 할 수 없지만 Spring Expression Language를 사용하여 최종 목표를 달성 할 수 있습니다.
@Value 표현식에서는 플랫폼에 직접 액세스 할 수 없지만 Spring Expression Language를 사용하여 최종 목표를 달성 할 수 있습니다.
@Value("${platform}") private String platform; @Value("#{'Url.'.concat(${platform}).concat('.ws')}") private String url;
from https://stackoverflow.com/questions/7926596/value-for-the-annotation-attribute-must-be-constant-expression by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring 데이터 Neo4j - repository.save와 @Indexed (unique = true) (0) | 2019.05.12 |
---|---|
[SPRING] 속성 자리 표시 자 값으로 @Profile 주석 사용 (0) | 2019.05.12 |
[SPRING] Spring Batch - TaskletStep에서 건너 뛸 수있는 예외 (0) | 2019.05.12 |
[SPRING] 원래 수신 스레드 외부에서 HttpSession에 액세스 (0) | 2019.05.12 |
[SPRING] 봄 MVC 게시물 요청 (0) | 2019.05.12 |