apache commons包中的commons-beanutils


public class Entity {
    
    private Integer id = 5;
    private String name = "rongxinhua";
    
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    
    public String haha(){
        return "Ha,Ha";
    }
    
    public void sayHelle(String name){
        System.out.println(name + " say, Hello!");
    }
    
    public String countAges(int x, int y){
        return "My Age is " + (x + y);
    }
    
}


  相关用法
Entity entity = new Entity();
        
        //通过PropertyUtils的getProperty方法获取指定属性的值
        Integer id = (Integer)PropertyUtils.getProperty(entity, "id");
        String name = (String)PropertyUtils.getProperty(entity, "name");
        System.out.println("id = " + id + "  name = " + name);
        
        //调用PropertyUtils的setProperty方法设置entity的指定属性
        PropertyUtils.setProperty(entity, "name", "心梦帆影");
        System.out.println("name = " + entity.getName());
        
        //通过PropertyUtils的describe方法把entity的所有属性与属性值封装进Map中
        Map map = PropertyUtils.describe(entity);
        System.out.println("id = " + map.get("id") + "  name = " + map.get("name"));
        
        //通过MethodUtils的invokeMethod方法,执行指定的entity中的方法(无参的情况)
        System.out.println( MethodUtils.invokeMethod(entity, "haha", null) );
        
        //通过MethodUtils的invokeMethod方法,执行指定的entity中的方法(1参的情况)
        MethodUtils.invokeMethod(entity, "sayHelle", "心梦帆影");
        
        //通过MethodUtils的invokeMethod方法,执行指定的entity中的方法(多参的情况)
        Object[] params = new Object[]{new Integer(10),new Integer(12)};
        String msg = (String)MethodUtils.invokeMethod(entity, "countAges", params);
        System.out.println(msg);

猜你喜欢

转载自jackyrong.iteye.com/blog/2286348