博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java设置以及获取JavaBean私有属性进阶
阅读量:6330 次
发布时间:2019-06-22

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

在上一篇博客中讲到使用Java提供的原生API设置以及获取一个JavaBean的私有属性。

但是使用Java的原生API过于复杂,有没有更加简单的方法呢?答案是肯定的。下面介绍一个开元工具包来非常方便的解决这个问题。

准备条件:apache的开源库commons-beanutils.jar,commons-logging.jar。将这两个包导入项目中。

主要用到两个类:(两种快速解决上述问题的方法)

1.BeanUtils

2.PropertyUtils

第一种方案:

package yw.bean.improve;import org.apache.commons.beanutils.BeanUtils;import org.apache.commons.beanutils.PropertyUtils;import yw.javaben.BeanEntity;/** * 获取javabean的私有属性提高篇 * @author yw-tony * */public class BeanImproveTest {        public static void main(String[] args) throws Exception{        BeanEntity bean = new BeanEntity();        /**         * apache的一个开源工具包提供的操作javabean属性的工具类         * 提供一个设置JavaBean私有属性的一个方法(共有属性当然也是可以获取到的)         * 第一个参数:目标JavaBean         * 第二个参数:属性名称         * 第三个参数:要设置的属性值         */        BeanUtils.setProperty(bean, "x", "89");        /**         * 获取设置的属性值         *          * 第一个参数:目标JavaBean         * 第二个参数:目标属性名称         */        String propName = BeanUtils.getProperty(bean, "x");        //打印输出        System.out.println(propName);            }}

第二种方案:

package yw.bean.improve;import org.apache.commons.beanutils.PropertyUtils;import yw.javaben.BeanEntity;public class BeanImproveTest2 {    public static void main(String[] args) throws Exception {        BeanEntity bean = new BeanEntity();        /**         * 设置目标JavaBean属性值的方法         * 第一个参数:目标JavaBean         * 第二个参数:目标属性名称         * 第三个参数:设置目标属性值         */        PropertyUtils.setProperty(bean, "x", 100);        /**         * 获取目标属性值的方法         * 第一个参数:目标JavaBean         * 第二个参数:目标JavaBean的属性名称         */        int x = (int)PropertyUtils.getProperty(bean, "x");        System.out.println(x);    }}

 

使用上述两种方法都可以得到上一篇博客想要的结果。

 

怎么样?是不是更简单,更方便!

 

 

转载地址:http://qzfoa.baihongyu.com/

你可能感兴趣的文章
OceanBase笔记1:代码规范
查看>>
[Algorithms] Longest Increasing Subsequence
查看>>
MAC下GitHub命令操作
查看>>
springboot之filter/listener/servlet
查看>>
uGUI练习 开篇
查看>>
【springboot】【redis】springboot+redis实现发布订阅功能,实现redis的消息队列的功能...
查看>>
关于Verilog HDL的一些技巧、易错、易忘点(不定期更新)
查看>>
用浮动IP实现高可用性,待续
查看>>
Strom(0.9.3)配置
查看>>
Python之Paramiko、前端之html学习_Day14
查看>>
HDU 3836 Equivalent Sets
查看>>
深入理解JVM读书笔记思维导图
查看>>
String字符串位置移动
查看>>
MySQL无法插入中文的解决方案
查看>>
react16 渲染流程
查看>>
Android游戏与应用开发最佳学习路线图
查看>>
Android应用打开外部文件
查看>>
hadoop生态搭建(3节点)-05.mysql配置_单节点
查看>>
堆和栈的区别
查看>>
网易2017春招笔试真题编程题集合(2)——赶去公司
查看>>