学习JavaBean 遇到的问题
来源:互联网 发布:qq会员永久软件 编辑:程序博客网 时间:2024/06/07 05:42
今天学习了Apache编写的Beanutils工具的基本使用方法,使用步骤如下:
1)官网下载2各工具Beanutils及Logging 解压后将两个工具的主要文件拷贝至工程lib目录下
2)右键beanutils及logging jar工具,依照下图加入Build path
能看到如下状态
3)编写了person.java的 javabean类以及测试类IntroSepectorDemo.java 同时导入beanutils的jar包
package JavaBean;import java.beans.IntrospectionException;import java.beans.PropertyDescriptor;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import org.apache.commons.beanutils.BeanUtils;public class IntroSpectorDemo {public static void main(String[] args) throws Exception {person p = new person("zhangsan", 24);String str = BeanUtils.getProperty(p, "name");System.out.println(str);}}
person类
package JavaBean;class person {private String name1;private int age;public String getName() {return name1;}public void setName(String name) {this.name1 = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public person(String name, int age) {super();this.name1 = name;this.age = age;}}运行提示找不到getter name方法
明明是有方法的,为啥提示找不到呢,最终经过百度查询在某论坛高人指点javabean类应该使用public进行修饰
程序修改后,运行成功!
最后再附加上BeanUtils的2种最常用的方法populate 和 describe,可以将Bean中属性转换为Map对象,测试代码如下
package JavaBean;import java.beans.PropertyDescriptor;import java.lang.reflect.InvocationTargetException;import java.util.HashMap;import java.util.Map;import org.apache.commons.beanutils.BeanUtils;public class beanutilDemo {public static void main(String[] args) throws Exception {// TODO Auto-generated method stub//初始化m类型为MapMap<String,String> m = new HashMap<String,String>();//往Map中存入键值对m.put("name", "zhangsan");m.put("age", "24");//初始化p对象类型为personperson p = new person();//用m的属性map给p对象赋值,使用Bean工具的populate方法BeanUtils.populate(p, m);//打印赋值结果System.out.println(p.getName());System.out.println(p.getAge());//建立另外一个p1对象并进行初始化值person p1 = new person("张三", 28);//通过Beanutils的describe方法将p1对象的属性存为map对象m1Map<String,String> m1 = BeanUtils.describe(p1);//用m1的属性map给p对象赋值,使用Bean工具的populate方法BeanUtils.populate(p, m1);//打印赋值结果System.out.println(p.getName());System.out.println(p.getAge());}}运行结果如下:
0 0
- 学习JavaBean 遇到的问题
- Velocity 中调用javabean的方法遇到的问题
- JavaBean的命名规则(遇到的问题)
- 使用jdbc和javabean操作数据库遇到的鸡肋问题
- 采用xstream实现javabean和xml互转时遇到的问题
- 刚学习遇到的问题
- 学习vs2005遇到的问题
- java学习遇到的问题
- 学习oralce10 遇到的问题
- 学习Sping遇到的问题
- 学习C++遇到的问题
- 学习Linux遇到的问题
- android学习遇到的问题
- 学习 zigbee 遇到的问题
- Win32 学习遇到的问题
- 学习DICOM遇到的问题
- 学习Testng遇到的问题
- jni学习遇到的问题
- TCP三次握手,及其背后的缺陷
- ZOJ2562
- 机器视觉开源代码集合
- HTML与CSS_基础 翁恺 笔记(2015.8.10更新)
- ContentProvider简结
- 学习JavaBean 遇到的问题
- 杭电ACM1394——Minimum Inversion Number
- leetcode 83: Remove Duplicates from Sorted List
- [c]sdnuoj1116 AC自动机
- Python requests库解析中文网页乱码处理方法
- 如何控制通达OA的工作流表单列表控件的列输入框
- CGI和CLI两种模式运行PHP的区别
- 频域低通滤波器(数字图像处理与机器视觉P210-P220)
- Java基础——GUI概述