反射 内省 BeanUtil 综合使用

package com.zsphp.domain;

public class User {

    private String userId;
    private String userName;
    private String password;

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

}

 

 

package com.zsphp.demo;

import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Constructor;

import org.apache.commons.beanutils.BeanUtils;

public class Demo {
    public static void main(String[] args) {
        
        String domain="com.zsphp.domain.User";
        try {
            
            Class<?> clazz = Class.forName(domain);
            
            Constructor<?> constructor = clazz.getDeclaredConstructor();
            
            Object obj = constructor.newInstance();
            
            BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass(),Object.class);
            
            PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
            
            for (PropertyDescriptor pd : propertyDescriptors) {
                pd.getWriteMethod().invoke(obj, pd.getName());
            }
            
            
            String userId = BeanUtils.getProperty(obj, "userId");
            
            System.out.println(BeanUtils.getProperty(obj, "userId"));
            System.out.println(BeanUtils.getProperty(obj, "userName"));
            System.out.println(BeanUtils.getProperty(obj, "password"));
            
            
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

 

posted @ 2018-12-20 14:42  往事只能回味---  阅读(162)  评论(0)    收藏  举报