您的位置:首页 > 运维架构

PropertyUtils.getPropertyDescriptors利用反射机制获取类中的属性

2017-01-16 20:47 561 查看
第一步:建立java项目第二步:建立两个类我建立的是一个bean.java类,和beanTest.java类,同目录下第三步:写代码bean.javapublic class bean { String name; String password;}beanTest.javaimport java.beans.PropertyDescriptor;import java.lang.reflect.InvocationTargetException;import org.apache.commons.beanutils.PropertyUtils;public class beanTest {public static void main(String args[]) {  beanTest bt=new beanTest(); bean bn=new bean(); Object obj=bn;  bt.test(obj);} public void test(Object obj)  {   PropertyDescriptor[] pd = PropertyUtils.getPropertyDescriptors(obj);  System.out.print(pd.length);    for (int i = 0; i < pd.length; i++) {   String name = pd[i].getName();         System.out.print(name);                                      }  }} 打印出来的效果:1 class 说明只找到bean中的一个属性class 第四步:接下来我们把bean改一下,给属性加上get,set方法public class bean { String name; public String getName() {  return name; } public void setName(String name) {  this.name = name; } public String getPassword() {  return password; } public void setPassword(String password) {  this.password = password; } String password;}运行结果:3 class name password总结: org.apache.commons.beanutils.PropertyUtils的getPropertyDescriptors方法可以通过传入的对象类参数值,找到它的属性PropertyDescriptor数组。
思考:
Field field = ReflectionUtils.findField(entityClass, fieldName);field.setAccessible(true);
String fieldType = field.getType().toString();
其中class类型的属性对应的属性类型是什么??????
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息