什么是JavaBean?
Bean理解为组件意思,JavaBean就是Java组件, 在广泛的理解就是一个类,对于组件来说,关键在于要具有“能够被IDE构建工具侦测其属性和事件”的能力,通常在Java中。
一个JavaBean要具备这样的命名规则:
1、对于一个名称为xxx的属性,通常你要写两个方法: getXxx()和setXx()。 任何浏览这些方法的工具,都会把get或set后面的第一个 字母自动转换为小写。
2、对于布尔型属性,可以使用以上get和set的方式, 不过也可以把get替换成is。
3、Bean的普通方法不必遵循以上的命名规则,不过它们必须是public的。
4、对于事件,要使用Swing中处理监听器的方式。如addWindowListener,
remove WindowListener
BeanUtils工具类: http://apache.org/
代码示例:
实现数据类型自动转换
package com.booy;
import org.apache.commons.beanutils.BeanUtils;
import java.lang.reflect.InvocationTargetException;
public class BeanDemo {
public static void main(String[] args) {
//从客户端获取的数据
String name = "jack";
String age = "18";
String salary = "10000";
Emp emp = new Emp();
try {
BeanUtils.setProperty(emp,"name",name);
BeanUtils.setProperty(emp,"age",age);
BeanUtils.setProperty(emp,"salary",salary);
System.out.println(emp.getInfo());
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
/**
运行结果:
name='jack', age=18, salary=10000
*/
Emp类
package com.booy;
public class Emp {
private String name;
private int age;
private int salary;
public String getName() {
return name;
}
public String getInfo() {
return "name='" + name + '\'' +
", age=" + age +
", salary=" + salary;
}
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;
}
}