2012-09-12 1 views

답변

3

메소드 변수에 대한 접근 자 private가 적합하지 않습니다.

@Value 주석의 정의를 살펴보면 FIELD, PARAMETER 또는 METHOD 수준에서만 배치 할 수 있습니다.

@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER}) 
@Retention(RetentionPolicy.RUNTIME) 
@Documented 
public @interface Value { 

그래서 중 당신은

... 클래스 속성 또는 메서드 매개 변수로 이름을 선언
4

아니요 :) 주석을 사용하여 클래스, 필드, 메소드 및 해당 주석에 주석을 달 수 있습니다. 그러나 메소드에는 없기 때문에 이러한 주석을 처리하기 위해 리플렉션을 사용하여 메소드 로컬 변수를 가져 오는 것은 불가능합니다. 필드에서 @Value를 사용하고 메소드에서 값을 읽으십시오.