java reflection 예제
일부 인터페이스에서 정의 된 방법에 대해 REST API 소스 코드를 생성하기위한 일식 플러그인을 개발한 팀에서 일했습니다. 인터페이스 메서드당 하나의 REST API를 만드는 데 사용되었으며 마법사를 사용하여 HTTP 메서드(GET, PUT, POST, DELETE), 쿼리 매개 변수, 경로 매개 변수 및 반환 값과 같은 다른 REST 특정 항목을 지정할 수 있습니다. 반환 값은 플러그인에 의해 생성된 JAXB 별이 추가된 클래스입니다. 그리고 코드 생성에 대한 논리의 거의 90%는 리플렉션을 중심으로 작성되었습니다. getAnnotations() 메서드는 요소에 대한 모든 주석을 반환하며 클래스, 필드 및 메서드와 함께 사용할 수도 있습니다. 리플렉션에서 사용할 수 있는 주석만 런타임의 보존 정책과 함께 제공되며 Java 주석 자습서를 확인하십시오. 자세한 내용은 이후 섹션에서 자세히 살펴보겠습니다. 자바 클래스에 적용하고 다양한 예제를 가지고, 리플렉션 API에 대한 확고한 그립을 얻기 위해, 우리는 먹는 인터페이스를 구현하는 추상적 인 동물 클래스를 만들 것입니다. 이 인터페이스는 우리가 만드는 모든 구체적인 Animal 개체의 먹는 동작을 정의합니다. getCanonicalName()는 기본 클래스의 표준 이름을 반환합니다. java.lang.Class는 제네릭을 사용하며 검색된 클래스가 프레임워크 기본 클래스의 하위 클래스인지 확인하는 데 프레임워크를 사용하는 데 도움이 됩니다. 제네릭 및 와일드카드에 대해 알아보려면 Java 제네릭 튜토리얼을 확인하십시오.
Java 리플렉션은 런타임에 클래스의 런타임 동작을 검사하거나 수정하는 프로세스입니다. 이것은 자바 반사 예제입니다. 여기에 소스 코드를 다운로드 : JavaReflectionExample.zip 우리는 클래스의 공개 방법을 얻기 위해 getMethod()를 사용할 수 있습니다, 우리는 메서드의 방법 이름과 매개 변수 유형을 전달해야합니다. 메서드가 클래스에서 찾을 수 없는 경우 리플렉션 API는 수퍼클래스의 메서드를 찾습니다. 에 의해 게시: 콘스탄티나 Dimtsa 반사 1 월 7 th, 2014 1 코멘트 보기 이 흔적의 예제는 반사 API를 실험 하기 위해 설계 되었습니다. 따라서 예외 처리는 프로덕션 코드에서 사용되는 것과 동일하지 않습니다. 특히 프로덕션 코드에서는 사용자에게 표시되는 스택 추적을 덤프하지 않는 것이 좋습니다. 이후 버전에서는 테스트를 시작하는 명명 규칙이 주석 사용으로 대체되었지만 반사 사용이 훨씬 비슷합니다. 이 클래스에는 세 개의 생성자가 있음을 리플렉션으로 확인해 보겠습니다.