불가능하다고 느껴집니다. 그러나 이를 동적으로 달성하려면 @WebService 주석의 실행 타이밍을 조정해야 합니다. 적어도 RetentionPolicy.RUNTIME 형식이어야 합니다.
업데이트 질문자가 이러한 요구 사항을 충족하기 위한 다른 방법을 찾았는지 여부에 관계없이 주석의 관점에서 반드시 해결되지 않을 수도 있습니다. 여기서 내 생각을 설명하겠습니다. 다음 코드는 Holder 주석을 사용하여 WebService 주석의 동작을 시뮬레이션합니다. 먼저 대상 URL(대상 endPoint)을 구문 분석하려면 또 다른 Hacker 주석이 필요합니다. 물론 주석을 유지하는 다른 방법도 있습니다. 원래 클래스에 Hacker 주석만 설정한 다음 동적 구문 분석을 통해 Hacker 주석을 대상 URL로 구문 분석하고 이 URL을 사용하여 를 구성합니다. 홀더 주석을 추가하고 최종적으로 원래 클래스에 추가했습니다. (결론부터 먼저 읽어보세요!!!)
홀더 주석
package com.honey.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Honwhy가 2016년 2월 3일에 작성함.
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(요소 유형.TYPE)
공개 @인터페이스 보유자 {
문자열 값() 기본값 "";
}
불가능하다고 느껴집니다.
그러나 이를 동적으로 달성하려면
@WebService
주석의 실행 타이밍을 조정해야 합니다.적어도
RetentionPolicy.RUNTIME
형식이어야 합니다.업데이트
질문자가 이러한 요구 사항을 충족하기 위한 다른 방법을 찾았는지 여부에 관계없이 주석의 관점에서 반드시 해결되지 않을 수도 있습니다.
여기서 내 생각을 설명하겠습니다. 다음 코드는
Holder
주석을 사용하여WebService
주석의 동작을 시뮬레이션합니다.먼저 대상 URL(대상 endPoint)을 구문 분석하려면 또 다른
Hacker
주석이 필요합니다. 물론 주석을 유지하는 다른 방법도 있습니다.원래 클래스에
Hacker
주석만 설정한 다음 동적 구문 분석을 통해Hacker
주석을 대상 URL로 구문 분석하고 이 URL을 사용하여를 구성합니다. 홀더
주석을 추가하고 최종적으로 원래 클래스에 추가했습니다. (결론부터 먼저 읽어보세요!!!)홀더 주석
해커 노트
ExamplePojo 일반 POJO 클래스
메인 클래스 테스트
결론
위 해결 방법은 유효하지 않습니다! ! !
첨부파일
참조 링크:
[1] http://ayoubelabbassi.blogspot.jp/2011/01/how-to-add-annotations-at-runtime-to.html
[2] http:/ /prismoskills.appspot.com/lessons/Super_Java/Dynamically_adding_annotations.jsp
하나를 맞춤설정하거나 다시 작성하세요