zoukankan      html  css  js  c++  java
  • BeanUtils--01--- 封装属性到对象中

    1.注意需要两个jar包: commons-beanutils-1.8.3.jar  和 commons-logging-1.1.3.jar

    public class Admin {//省略getset等通用方法
    	private int id;
    	private String username;
    	private String pwd;
    	private Date date;
    }
    
    public class APP {
    	@Test
    	public void testBeanUtils() throws Exception, InvocationTargetException{
    		Admin admin = new Admin();
    		//方式1
    		admin.setUsername("妹子");
    		admin.setPwd("123");
    		System.out.println(admin);
    		
    		//方式2
    		BeanUtils.copyProperty(admin, "username", "zhangsan");
    		BeanUtils.setProperty(admin, "pwd", "5555");
    		System.out.println(admin.getUsername());
    		System.out.println(admin.getPwd());
    		
    		//方式3
    		Map<String,Object> map = new HashMap<>();
    		map.put("username", "zhangsan");
    		map.put("pwd", "586665");
    		BeanUtils.populate(admin, map);
    		System.out.println(admin);
    		
    		//方式4  Date 转化  ,需要注册一个转化器
    		ConvertUtils.register(new DateConvert_MY(), Date.class);
    		Map<String,Object> map2= new HashMap<>();
    		map2.put("username", "zhangsan");
    		map2.put("pwd", "586665");
    		map2.put("date", "2016-09-24");
    		BeanUtils.populate(admin, map2);
    		System.out.println(admin);
    	}
    	
    }
    
    class DateConvert_MY implements Converter{
    	@Override
    	public Object convert(Class type, Object value) {
    		if(Date.class != type) return null;
    		if(null == value || "".equals(value.toString().trim())) return null;
    		try {
    			return new SimpleDateFormat("yyyy-MM-dd").parse(value.toString());
    		} catch (ParseException e) {
    			throw new RuntimeException(e);
    		}
    	}
    }
    

      

  • 相关阅读:
    联赛前第五阶段总结
    陶陶摘苹果 —— 线段树维护单调栈
    联赛前第三阶段总结
    联赛前第四阶段总结
    [NOIP
    超级跳马 —— 矩阵快速幂优化DP
    我的博客园美化
    Wedding —— 2-SAT
    C++运算符优先级
    water——小根堆+BFS
  • 原文地址:https://www.cnblogs.com/bravolove/p/5904379.html
Copyright © 2011-2022 走看看