자바 주해 방식 반사
본문 주소:http://www.zeromike.net/?p=48
반 사 된 사용 장면 은 업무 코드 에 다양한 방법 이 있 고 클 라 이언 트 를 통 해 들 어 오 는 방법 이름과 매개 변 수 를 통 해 업무 수행 방법 을 호출 하 는 것 이다.나 는 여기에 표시 코드 만 쓰 고,다음 편 에 나 는 phonegap 플러그 인 을 어떻게 쓰 는 지 쓸 것 이다.
1.주해 코드
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)// class ( ) ,
@Target(ElementType.METHOD)//
public @interface MyAnnontion {
}
2.업무 코드
public class MyTest {
@MyAnnontion
public void sendMessage(String message){
System.out.println("send Message..."+message);
}
@MyAnnontion
public void findAll(){
System.out.println("find all...");
}
}
3.테스트 코드
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class MyMain {
public static void main(String[] args) throws IllegalAccessException,
IllegalArgumentException, InvocationTargetException {
Method[] method = MyTest.class.getMethods();
MyTest test = new MyTest();
for (Method m : method) {
MyAnnontion annotation = m.getAnnotation(MyAnnontion.class);//
if (annotation != null) {
int isParam = m.getParameterTypes().length;//
if (isParam == 0) {
m.invoke(test);
} else {
m.invoke(test, new Object[] { "abc" });
}
}
}
}
}
결과:
find all...
send Message...abc
링크
zeromike
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 반사 구현 Aop 에이전트 상세 정보반사를 이용하여 JDK의 동적 에이전트, 즉 AOP의 AOP 에이전트를 생성하여 목표 대상을 대체하고 코드에 증강을 직입한다. 프록시 인터페이스 정의 JDKf 동적 에이전트는 인터페이스에 동적 에이전트만 만들 수 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.