2012-07-17 4 views
1

아는 한 주석을 적용하는 유일한 방법은 반영입니다. 리플렉션이 없으면 java 주석이 쓸모 없게됩니다. 이게 옳은 거니?자바 주석을 사용하는 경우와 그 이상인 경우

public class Main{ 
    @SomeAnnotation(name="some",value="annotation") 
    public void method(){ 
     //do something. 
    } 
    public static void main(String...args){ 
     Main main = new Main(); 
     //Just call the method directly, How to make the @SomeAnnotation make sense? 
     main.method(); 
    } 
} 

예를 들어, 먼저 Java Method 개체를 가져온 다음 표시된 모든 주석을 확인하십시오. 그리고 원하는 것을 얻은 후에는 리플렉션으로 메소드를 호출하십시오. 예.

Method.invoke(Object, Object...args) 

사람들은 주석이 지루한 XML을 줄일 수 있지만, 다시 XML 구성에, 사용 패턴은 우리가로드 및 구문 분석 XML 파일을, 우리는 몇 가지 메서드를 호출 할 때, 우리가 먼저 얻을 또는 구성 정보를 확인 좋아하는 말 진짜 물건을해라. 특수 효과를 사용하여이를 달성하는 방법은 무엇입니까? 우리가 얻은 유일한 방법은 반성입니까?

+3

또한 컴파일 타임에 도움이됩니다. '@Orrideride','@ SuppressWarnings' 등 – Thilo

+0

컴파일 타임 주석은 실수를 방지하는 데 도움이 될 수 있지만 구성 측면에서는 어떻게 활용할 수 있습니까? – George

+0

컴파일 타임 주석은 런타임에 아무 것도 수행하지 않습니다 (심지어 유지되지 않을 수도 있음). 그러나 사용자 정의 컴파일 또는 빌드 프로세스는 유용 할 수있는 주석으로부터 뭔가를 생성 할 수 있습니다. – Thilo

답변

2

주석 (자체는 메타 주석으로 선언 됨)은 annotations이 리플렉션뿐만 아니라 컴파일 또는 빌드시 (예 : annotation processing tool과 같이) 사용된다는 것을 보여줍니다.

주석 처리를 이해하기위한 샘플 코드가 필요하면 annotation documentation 끝에서 (다른 테스트 클래스를 검사하는 작은 프로그램을 통해) 사용할 수 있습니다.

관련 문제