JavaSE练习 - BeanUtils的使用综合案例
2017-12-13 16:05
399 查看
前言:使用BeanUtils简化bean对象数据分装,对象创建使用反射,XML解析使用dom4j。
一、导入jar包
项目目录下新建文件夹lib,添加commons-beanutils jar包、commons-logging jar包和dom4j jar包到lib文件夹下,选中三个jar包右键buildpath –>Add to buildpath。
二、编写xml文件
三、创建Javabean类
User类:
Student类:
三、BeanUtilesDemo类代码实现
一、导入jar包
项目目录下新建文件夹lib,添加commons-beanutils jar包、commons-logging jar包和dom4j jar包到lib文件夹下,选中三个jar包右键buildpath –>Add to buildpath。
二、编写xml文件
<?xml version="1.0" encoding="UTF-8"?> <beans> <bean className="cn.itcast.javaeevideoday02.Uesr"> <porperty name="username" value="大家都说名字长不会被发现"></porperty> <porperty name="password" value="ccc12345"></porperty> </bean> <bean className="cn.itcast.javaeevideoday02.Student"> <porperty name="name" value="李猜"></porperty> <porperty name="age" value="20"></porperty> <porperty name="sex" value="男"></porperty> </bean> </beans>
三、创建Javabean类
User类:
package cn.itcast.javaeevideoday02; public class Uesr { private String username; private String password; public Uesr() { super(); // TODO Auto-generated constructor stub } public Uesr(String username, String password) { super(); this.username = username; this.password = password; } public String getusername() { return username; } public void setusername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "Uesr [username=" + username + ", password=" + password + "]"; } }
Student类:
package cn.itcast.javaeevideoday02; /** * * @author 大家都说名字长不会被发现 * */ public class Student { public String name; public String age; public String sex; public Student() { super(); // TODO Auto-generated constructor stub } public Student(String name, String age, String sex) { super(); this.name = name; this.age = age; this.sex = sex; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } @Override public String toString() { return "Student [name=" + name + ", age=" + age + ", sex=" + sex + "]"; } }
三、BeanUtilesDemo类代码实现
package cn.itcast.javaeevideoday02; import java.awt.event.MouseWheelEvent; import java.util.ArrayList; import java.util.List; import org.apache.commons.beanutils.BeanUtils; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; /** * * @author 大家都说名字长不会被发现 * */ public class BeanUtilsDemo { public static void main(String[] args) throws Exception { //获取SAXReader对象 SAXReader reader = new SAXReader(); //读取XML文件 Document document = reader.read("beans.xml"); //获取根标签 Element rootElement = document.getRootElement(); //获取根标签下所有指定子标签 List<Element> elements = rootElement.elements(); //创建集合对象 ArrayList<Object> lists = new ArrayList<>(); for (Element element : elements) { //获取属性值 String className = el b6fb ement.attributeValue("className"); //获取字节码文件对象 Class c = Class.forName(className); //快捷方式获取对象实例 Object object = c.newInstance(); //获取下一级子标签 List<Element> subElements = element.elements(); for (Element subElement : subElements) { String name = subElement.attributeValue("name"); String value = subElement.attributeValue("value"); //使用BeanUtils给对象封装数据 BeanUtils.setProperty(object, name, value); } //将对象添加到集合 lists.add(object); } System.out.println(lists); } }
相关文章推荐
- xml练习案例(使用Dom4j解析)
- 7.6.3 泛型的综合使用案例
- android CoordinatorLayout使用(综合案例)
- JAVASE基础 Item -- IO流综合练习
- JavaSE-泛型的使用练习
- JavaSE实战——API(上) Eclipse使用、Object、Scanner、String、StringBuffer、StringBuilder、Integer、模拟用户登录案例
- BeanUtils使用案例
- 5、判断、循环、数组综合练习案例(迷你DVD)
- 生物信息学练习1-综合使用软件
- html,js,css综合练习-2048游戏(使用表格布局)
- 定时任务调度之Timer---综合使用小案例
- Jquery实用小案例,适合初学者练习使用
- JavaSE练习 - DBUtils的使用
- javase练习(排序,IO流,机试,综合)
- 内省综合案例和 Beanutils 工具包
- xml练习案例(使用DOM解析)
- JavaSE 练习对面向对象思想、单列集合、双列集合的综合运用 - 斗地主
- 案例51-crm练习新增客户使用数据字典和ajax
- 类、抽象类、接口的综合小练习---运动员和教练案例
- SpringMVC+Spring+MyBatis 的综合练习 10 (使用 Spring 测试 DAO)