设为首页 收藏本站
查看: 964|回复: 0

[经验分享] Java基础六:apache的Beanutils简单使用对JavaBean操作的封装

[复制链接]

尚未签到

发表于 2017-1-14 09:41:44 | 显示全部楼层 |阅读模式
/**
* apache的Beanutils简单使用
*
* @author 张明学
*
*/
public class BeanUtilsStudy {
public static void main(String[] args) throws Exception {
PersonBean pbean = new PersonBean("java", 12);
pbean.setP("P属性");
// 定义几个属性名称
String propertyP = "p";
String propertyName = "name";
String propertyAge = "age";
Object returnValue = null;
// **************getProperty与setProperty方法:获取与设置JavaBean的属性**************
// 获取p属性值
returnValue = BeanUtils.getProperty(pbean, propertyP);
System.out.println(returnValue);
// 获取name属性值
returnValue = BeanUtils.getProperty(pbean, propertyName);
System.out.println(returnValue);
// 设置p属性值
BeanUtils.setProperty(pbean, propertyP, "C++");
System.out.println(pbean.getP());
// 设置age属性值
BeanUtils.setProperty(pbean, propertyAge, 24);
System.out.println(pbean.getAge());
// 可以自动帮我们进行类型转换
BeanUtils.setProperty(pbean, propertyAge, "25");
System.out.println(pbean.getAge());
// birthday类型的java.util.Date类,下面这样写在它在定义的是必须要实例化birthday
// java.util.Date有一个setTime()方法可以看作JavaBean
BeanUtils.setProperty(pbean, "birthday.time", new Date().getTime());
System.out.println(pbean.getBirthday());
// **************copyProperties方法:将一个JavaBean的属性copy到另一个JavaBean中**************
// PersonBean2是PersonBean的子类
PersonBean2 pb2 = new PersonBean2();
// 将pbean的属性值copy到pb2属性
BeanUtils.copyProperties(pb2, pbean);
System.out.println(pb2.getName());
// **************describe方法:将javaBean转换成Map对象************** \\
Map beanMap = BeanUtils.describe(pbean);
for (Object key : beanMap.keySet()) {
System.out.println(key + "=" + beanMap.get(key));
}
// **************populate方法:将Map中的值设置到javaBean对象************** \\
Map<String, Object> map = new HashMap<String, Object>();
map.put("name", ".NET");
map.put("age", 32);
map.put("p", "PPP");
BeanUtils.populate(pbean, map);
System.out.println(pbean.getName() + "\t" + pbean.getAge() + "\t"
+ pbean.getP());
// 还有一个PropertyUtils
returnValue = PropertyUtils.getProperty(pbean, propertyName);
System.out.println(returnValue);
PropertyUtils.setProperty(pbean, propertyAge, 21);
System.out.println(pbean.getAge());
// PropertyUtils.setProperty(pbean, propertyAge, "21");不能自动进行类型转换
}
}

  其中用的JavaBean如下:

public class PersonBean {
private String name;
private int age;
private Date birthday = new Date();
private String x;
public PersonBean() {
}
public PersonBean(String name, int age) {
this.name = name;
this.age = age;
}
public String getP() {
return x;
}
public void setP(String p) {
this.x = p;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

public class PersonBean2 extends PersonBean {
private String address;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-328196-1-1.html 上篇帖子: RewriteCond和13个mod_rewrite应用举例Apache伪静态 下篇帖子: 超过9个模块的apache rewrite正则表达式写法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表