2009-10-06 3 views
1

Java 6에서는 (@Target(ElementType.PARAMETER)@Retention(RetentionPolicy.RUNTIME) - 메타 주석이 붙은) 메서드 매개 변수에 값을 삽입 할 수 있습니까? 리플렉션을 사용하여 런타임에 주석을 찾는 것이 전적으로 가능합니다. 매개 변수의 값을 실제로 수정할 수있는 방법이없는 것처럼 보입니다.주석 메서드 매개 변수 삽입

엄격하게 Java 7 (또는 일부 아직 완성되지 않은 JSR)입니까? Java 6에서 (바이트 코드 조작을 사용하는 것 이외에) 가능하지 않을 수 있습니다.

답변

1

바이트 코드 조작을 직접 수행하는 대신 과 annotation pointcut과 같은 것을 사용하는 것이 적습니다.

+0

재미있는 답변입니다. 감사합니다. –

0

메소드가 인터페이스에서 선언 된 경우 java.lang.reflect.Proxy와 InvocationHandler를 살펴볼 수도 있습니다.

+0

답변 해 주셔서 감사합니다.하지만 불행히도 POJO입니다. –

+0

아니요, 여기 인터페이스가 없습니다 (물론 주석의 @interface 선언 제외). 리플렉션 API (동적 프록시 제외)에서 액세스 할 수있는 것으로 보이는 모든 것은 실제 값이 아닌 매개 변수의 유형입니다. –

관련 문제