博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javaweb 学习:BeanUtils框架/工具
阅读量:7136 次
发布时间:2019-06-28

本文共 2022 字,大约阅读时间需要 6 分钟。

3 BeanUtils框架/工具(APACHE开源组织开发)

1)BeanUtils框架能够完成内省的一切功能,而且优化
2)BeanUtils框架能够对String<->基本类型自动转化
3)BeanUtils框架自定义转换器:
ConvertUtils.register( 转换规则 ,目标对象的Class)
4)向BeanUtils框架注册自定义转换器必须放在bu.setProperty()代码之前
5)使用BeanUtils内置String->Date的转换器:
ConvertUtils.register(new DateLocaleConverter(),java.util.Date.class);

```

public class Student {

private String name;private int age;public Date getBirthday() {    return birthday;}public void setBirthday(Date birthday) {    this.birthday = birthday;}private Date birthday;public String getName() {    return name;}public void setName(String name) {    this.name = name;}public int getAge() {    return age;}public void setAge(int age) {    this.age = age;}

}`

@Test    public void test1() throws Exception    {        Student s = new Student();        BeanUtils bu = new BeanUtils();        ConvertUtils.register(new DateLocaleConverter(), java.util.Date.class);        bu.setProperty(s, "name", "李玟");        bu.setProperty(s, "age", "123213");        bu.setProperty(s,"birthday","2011-10-09");        String name = bu.getProperty(s, "name");        String age = bu.getProperty(s, "age");        String birthday = bu.getProperty(s,"birthday");        System.out.println("name = "+name);        System.out.println("age = "+age);        System.out.println("birthday="+new Date(birthday).toLocaleString());    }

自定义

//向BeanUtils框架注册自定义的转换器(String->java.util.Date)        ConvertUtils.register(new Converter(){            public Object convert(Class clazz, Object type) {                //参数一:java.util.Date.class(目标类型)                //参数二:是传入的参数类型,即java.lang.String                String strBirthday = (String) type;                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");                try {                    return sdf.parse(strBirthday);                } catch (ParseException e) {                    e.printStackTrace();                    return null;                }            }        },java.util.Date.class);

转载于:https://blog.51cto.com/357712148/2103793

你可能感兴趣的文章
windows下redis 和 hiredis的编译与使用
查看>>
spring cloud 中Actuator不显示更多信息的处理方式
查看>>
[MST] Test mobx-state-tree Models by Recording Snapshots or Patches
查看>>
你必须知道的session与cookie
查看>>
在JDBC中使用Java8的日期LocalDate、LocalDateTime
查看>>
log4j MDC用户操作日志追踪配置
查看>>
react-native 项目更名步骤
查看>>
Java多线程——<五>后台线程(daemon)
查看>>
Linux 下安装PHPunit
查看>>
delphi中接口的委托和聚合
查看>>
优化反射性能的总结(上)
查看>>
HDU 2845 Beans
查看>>
ncl 实例参考
查看>>
SqlMetal Builder V2版本
查看>>
C#中数组与ArrayList的简单使用
查看>>
Activitys, Threads, & Memory Leaks
查看>>
poj3308Paratroopers(最小割)
查看>>
关于java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream解决办法
查看>>
携程面试之后的一些感想
查看>>
[收藏] 如何阅读别人的代码
查看>>