java内省
参考连接:https://blog.csdn.net/qiaolovemath/article/details/50454400?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5
package com.siyuan.jdktest;
import java.beans.BeanDescriptor;
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.MethodDescriptor;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
class Person {
private String name;
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class IntrospectorTest {
public static void main(String[] args) throwsIntrospectionException {
// TODO Auto-generated methodstub
BeanInfo beanInfo =Introspector.getBeanInfo(Person.class);
System.out.println("BeanDescriptor===========================================");
BeanDescriptor beanDesc =beanInfo.getBeanDescriptor();
Class cls =beanDesc.getBeanClass();
System.out.println(cls.getName());
System.out.println("MethodDescriptor===========================================");
MethodDescriptor[] methodDescs= beanInfo.getMethodDescriptors();
for (int i = 0; i< methodDescs.length; i++) {
Method method= methodDescs[i].getMethod();
System.out.println(method.getName());
}
System.out.println("PropertyDescriptor===========================================");
PropertyDescriptor[] propDescs= beanInfo.getPropertyDescriptors();
for (int i = 0; i< propDescs.length; i++) {
MethodmethodR = propDescs[i].getReadMethod();
if (methodR!= null) {
System.out.println(methodR.getName());
}
MethodmethodW = propDescs[i].getWriteMethod();
if (methodW!= null) {
System.out.println(methodW.getName());
}
}
}
}
3. 运行结果
BeanDescriptor===========================================
com.siyuan.jdktest.Person
MethodDescriptor===========================================
hashCode
setAge
equals
wait
wait
notify
getClass
toString
getAge
notifyAll
setName
wait
getName
PropertyDescriptor===========================================
getAge
setAge
getClass
getName
setName

浙公网安备 33010602011771号