java 包之 BeanUtils包的使用
BeanUtils工具包是由Apache公司所开发,主要是方便程序员对Bean类能够进行简便的操作。
在使用BeanUtils工具包之前我们需要的Jar包有以下几种:
(1) BeanUtils相关包
commons-beanutils-1.8.3.jar
commons-beanutils-1.8.3-javadoc.jar
commons-beanutils-1.8.3-javadoc.jar
commons-beanutils-bean-collections-1.8.3.jar
commons-beanutils-core-1.8.3.jar
(2) Logic4j相关包
commons-logging.jar
log4j.jar
既然要对Bean对象进行操作,那么就需要一个Bean的测试类,我们以下面为所测试的Bean类
1 public class Student { 2 3 4 5 private String name; 6 7 private int age; 8 9 private Date birth;10 11 12 13 14 15 public String getName() {16 17 return name;18 19 }20 21 public void setName(String name) {22 23 this.name = name;24 25 }26 27 public int getAge() {28 29 return age;30 31 }32 33 public void setAge(int age) {34 35 this.age = age;36 37 }38 39 public Date getBirth() {40 41 return birth;42 43 }44 45 public void setBirth(Date birth) {46 47 this.birth = birth;48 49 }50 51 52 53 }
一、先赋值Bean对象里的字段属性,然后再取值:
1 @Test 2 3 public void test01() throws Exception{ 4 5 //1.加载类 6 7 Class clss = Class.forName("com.L.introspector.Student"); 8 9 //2.创建Bean对象10 11 Student st = (Student) clss.newInstance();12 13 //3.通过BeanUtils给对象属性赋值14 15 BeanUtils.setProperty(st, "name", "L。");16 17 //4.输出对象属性值18 19 String str = BeanUtils.getProperty(st, "name");20 21 System.out.println(str);22 23 }
BeanUtils的setProperty(object,name,value)方法需要的参数分别是
Object=加载类的对象
Name=类属性的名称
Value=所赋的值;
BeanUtils的getProperty(object,name)方法的返回值是String类型,所以可以直接输出;
二、 使用BeanUtils自带的时间转化器转化时间
1 @Test 2 3 public void test03() throws Exception{ 4 5 //创建Student Bean对象 6 7 Student st = new Student(); 8 9 //使用自带转化器转化时间格式10 11 ConvertUtils.register(new DateLocaleConverter(), Date.class);12 13 //赋值给birth属性14 15 BeanUtils.setProperty(st, "birth", "1991-09-25");16 17 //输出birth属性的值18 19 System.out.println(st.getBirth());20 21 }
三、 自定义日期格式转换器
1 @Test 2 3 public void test04()throws Exception{ 4 5 //创建Student对象 6 7 Student st = new Student(); 8 9 //使用CovertUtils注册创建一个日期格式转换器10 11 ConvertUtils.register(new Converter() {12 13 14 15 @Override16 17 public Object convert(Class type, Object value) {18 19 //当value参数等于空时返回空20 21 if(value==null){22 23 return null;24 25 }26 27 //自定义时间的格式为yyyy-MM-dd28 29 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");30 31 //创建日期类对象32 33 Date dt = null;34 35 36 37 try {38 39 //使用自定义日期的格式转化value参数为yyyy-MM-dd格式40 41 dt = sdf.parse((String)value);42 43 } catch (ParseException e) {44 45 // TODO Auto-generated catch block46 47 e.printStackTrace();48 49 }50 51 //返回dt日期对象52 53 return dt;54 55 }56 57 }, Date.class);58 59 //给birth赋值60 61 BeanUtils.setProperty(st, "birth", "1991-09-25");62 63 //输出64 65 System.out.println(st.getBirth());66 67 }
ConvertUtils.register(new Converter()中,new Converter()就相当于重写了Converter类中方法:
Public class MyConerter implements Converter{
//并且在此处创建了匿名的对象
}
转载于:https://www.cnblogs.com/jokerjason/p/5717623.html
java 包之 BeanUtils包的使用相关推荐
- Commons BeanUtils包学习2
2019独角兽企业重金招聘Python工程师标准>>> Commons BeanUtils包学习2 博客分类: 中间件 java 一.简介: BeanUtils提供对 Java反射和 ...
- Java常用开源jar包
Java常用开源jar包 转:http://blog.csdn.net/kevingao/article/details/8125683 activation~与javaMail有关的jar包,使用j ...
- java jar 和 war 包的区别
一. jar 包 JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件.JavaSE程序可以打包成Jar包(J其实可以理解为Java了). ...
- java学习笔记(八)----包,jar文件
包 //建立包后同一个文件中的类都属于这个包,所有的类都必须按包名所对应的目录,在硬盘中存放.同一个包中的类在相互调用时,是不用指定包名的. ---在编译时对于下面这个类,用这样的方法 ja ...
- java学习笔记(一) ----java下常用的包功能
***java下常用的包*** java.lang----包含一些java语言的核心类,如String,Math,Integer,System,Thread,提供常用的功能. java.awt---- ...
- java jar包和war包_java中jar包和war包之间有什么区别
原标题:java中jar包和war包之间有什么区别 jar包 简单地说,JAR(Java Archive)是一种包文件格式.JAR文件具有.jar扩展名,可以包含库.资源和元数据文件. 本质上,它是一 ...
- java 内部类 返回值_Java基础第10天+形式参数和返回值的问题、包、导包、权限修饰符、常见的修饰符、内部类(局部内部类,成员内部类,匿名内部类)...
1:形式参数和返回值的问题(理解) (1)形式参数: 类名:需要该类的对象 抽象类名:需要该类的子类对象 接口名:需要该接口的实现类对象 (2)返回值类型: 类名:返回的是该类的对象 抽象类名:返回的 ...
- java编译错误 程序包javax.servlet不存在javax.servlet.*
java编译错误 程序包javax.servlet不存在javax.servlet.* 编译:javac Servlet.java 出现 软件包 javax.servlet 不存在 软件包javax. ...
- Java中的Atomic包
Atomic包的作用 方便程序员在多线程环境下,无锁的进行原子操作 Atomic包核心 Atomic包里的类基本都是使用Unsafe实现的包装类,核心操作是CAS原子操作: 关于CAS compare ...
- Java中的Atomic包使用指南
转载自 http://ifeve.com/java-atomic/ 本文首发于并发网,作者:方腾飞 引言 Java从JDK1.5开始提供了java.util.concurrent.atomic包,方便 ...
最新文章
- html+css常用小笔记(持续更新)
- Devstack 配置文件说明手册
- 结构体自动化转为char数组的实现
- 使用keepalived实现双机热备
- python打开.data_DataX初体验-python命令启动以及纯java启动
- 打开多个界面_如何创建用户界面
- BroadcastReceiver之动态广播 demo+笔记
- oracle连接报08006,oracle数据库无法连接 The Network Adapter could not establish
- 知识分享:如何用插件实现操作校验
- android 广播 event,无法接收android.intent.action.EVENT_REMINDER广播
- P1541 乌龟棋 线性dp
- densepose的IUV图像I通道数字与身体部分对应关系
- 一元购java源码下载_yungoucms - 源码下载|行业应用软件|其他行业|源代码 - 源码中国...
- 2017 Postgres大象会 TBase可靠性探究ppt
- web前端面试题-1
- 双活数据中心构建方法及实现技术
- vs2015开发在网页中调用的ocx控件详解(二)
- 表情包gif动图太大怎么处理
- 计算机专业如何自己增加项目经验?
- iOS App更换图标Logo(本地更换)
热门文章
- jbpm6 mysql_JBPM6把默认的H2数据库替换成mySql
- 大一c语言期末课程总结,大一下学期期末自我总结
- java事件处理的题目_介绍一下java的事件机制
- github可以刷星吗_国内某知名社区居然也在GitHub上玩起了刷星活动
- 验证列数据是否重复方法归类贴
- java迭代器怎么用_Java中迭代器的使用
- python画图小猪佩奇_用Python代码画小猪佩奇 Python简直太神奇了
- springboot如何对本地数据库增删改查_mysql数据库基本增删改查操作总结
- java socket 清理缓冲器_2021年Java全套面试题抢先看!中篇(更新中......)
- VC2013配置OpenCV开发环境