저는 작은 프로젝트를 만들고 있으며 현재 필요한 기능 중 하나를 달성하기 위해 노력하고 있습니다.특수 처리를 통해 추가 처리 추가
는 기본적으로 나는
을 좀하고 싶습니다 위의 메소드를 호출에, 그래서 내가, 인쇄 주석이 단지 추가 테스트를 인쇄 할@PrintAnnotation
public void print(){
System.out.println("inside method");
주석 method.For 예를 호출하고있을 때, 메소드가 실행하려는
"Used print annotation"
"Inside method"
그게 전부입니다.
나는 annotation processor API를보고있다. 그러나 javadoc을 읽는 것을 제외하고는 어디에도 문서가 없다. 정확히 컴파일 만 이해하면 원래 클래스를 변경할 수 없으므로 추가하면된다.
는 또한 답변 반사를 사용하는 제안하지만,
처럼, 나는 코드를 검사하는 방법이 주석하는 경우 있음을 트리거 필요 반사를 사용하지만 프로그램의 모든 메소드에 추가하는 방법을 추가 할 필요가 그렇게 발견public void print(){
checkAnnotation();
System.out.println("test");
}
하지만 모든 클래스의 모든 메서드에서 한 줄에 수백 개가 아닌 주석 만 추가하면됩니다.
Look into AOP ... – shmosel
AOP 라이브러리를 사용하거나 리플렉션을 통해 명시 적으로 메소드를 호출하고 거기에 print 문을 삽입하지 않으면 이것이 가능하지 않다고 생각합니다. –
정확히 이것을 필요로하고 특히 작업을위한 미리 준비 도구를 사용하지 않는 이유는 무엇입니까? –