Java基础03JavaBean的概念与BeanUtils工具174
JavaBean的概念
什么是 JavaBean?
Bean理解为组件意思, JavaBean就是Java组件,在广泛的理解就是一个类,对于组件来说,关键在于要具有“能够被IDE构建工具侦测其属性和事件”的能力,通常在Java中。
一个JavaBean要具备这样的命名规则:
1、对于一个名称为xxx的属性,通常你要写两个方法:getXxx()和setXxx()。任何浏览这些方法的工具,都会把get或set后面的第一个字母自动转换为小写。
2、对于布尔型属性,可以使用以上get和set的方式,不过也可以把get替换成is。
3、Bean的普通方法不必遵循以上的命名规则,不过它们必须是public的。
4、对于事件,要使用Swing中处理监听器的方式。如addWindowListener,removeWindowListener
BeanUtils工具类:http://apache.org/
打开这个网址 往下滑 一堆字母开头的 选Commons 第二个就是BeanUtils工具 点进去 点击左侧的Download 下载划线的
解压后导入第一个jar包到工程里就可以使用了
哎 在使用commons-beanutils-1.9.3.jar的时候 出现了错误 需要依赖于Logging这个包
所以还需要再下载 也在Commons里面 Logging下载后也是j第一个jar包添加进项目
先建一个JavaBean实体类
package com.vince.bean;
/**
* Created by vince on 2017/6/13.
*/
public class Emp {
private String name;
private int age;
private int salary;
public String getInfo(){
return "name="+name+",sage="+age+",salray="+salary;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
}
使用BeanUtils工具测试
比如说 从客户端提交到的信息都是String类型的
但放到实体类 各自有各自的类型 比如工资 int
就要强制转换类型 才能放进实体类
不过太麻烦
我们可以使用BeanUtils这个类实现 不用我们亲自转换类型了
package com.vince.bean;
import org.apache.commons.beanutils.BeanUtils;
import org.junit.Test;
import java.lang.reflect.InvocationTargetException;
/**
* Created by vince on 2017/6/13.
*/
public class BeanTest {
@Test
public void test(){
//从客户端获取到的数据是这样的
String name = "bin";
String age = "18";
String salary = "20000";
Emp emp = new Emp();
try {
BeanUtils.setProperty(emp,"name",name);
BeanUtils.setProperty(emp,"age",age);
BeanUtils.setProperty(emp,"salary",salary);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
System.out.println(emp.getInfo());
}
}