javabean
JavaBean 是一种特殊的java类,主要用于传递数据信息,这种java类中的方法主要用于访问私有字段,且方法名符合某种命名规则,如果要在两个模块之间传递多个信息,可以将这些信息封装到一个javaBean中,这种javaBean的实例对象通常称之为值对象,这些信息在类中有私有字段来存储,如果读取或设置这些字段的值,则需要通过一些相应的方法来访问,JavaBean的属性石根据其中的set和get方法来确定的,而不是根据其中的成员变量,如果方法名为setId中文意思即为id,至于你把它存到那个变量上,不用管,如果方法名为getId,中文意思为获id,至于从哪个变量上取也不用管,去掉set前缀,剩余的部分就是属性名,如果剩余部分的第二个字母是小写,则把剩余部分的首字母改成小写。如
Private int x;
public void setId(){
this.x=x;}
public int getId(){
return x;}
我们现在看此类有一个名为x的属性,但是它是私有的外部是不知道的只是通过setId来设置它和通过getId来获取它,对于外部调用的人来说此类具有名为Id的属性而不是x(前提是将此类作为一个JavaBean来看待的话因为也可将其不看做JavaBean)。换句话来说就是JavaBean的属性是根据方法去掉set和get以后剩下来名称而来的。
对于JavaBean类我们可以通过下面的方法来获取它的属性值和设置它的属性值
//设置属性值
private static void setProperties(Object pt1, String propertyName,
Object value) throws IntrospectionException,
IllegalAccessException, InvocationTargetException {
PropertyDescriptor pd2 = new PropertyDescriptor(propertyName,pt1.getClass());
Method methodSetX = pd2.getWriteMethod();
methodSetX.invoke(pt1,value);
}
//获得属性值
private static Object getProperty(Object pt1, String propertyName)
throws IntrospectionException, IllegalAccessException,
InvocationTargetException {
PropertyDescriptor
pd = new PropertyDescriptor(propertyName,pt1.getClass());
Method methodGetX = pd.getReadMethod();
Object retVal = methodGetX.invoke(pt1);
return retVal;
}
除以上的方式外我们还可以通过BeanUtils的工具包来操作JavaBean类,包括可以将一个Map 装换为JavaBean的属性反之亦可,并且可以不用考虑设置的参数类型BeanUtils会自动的装换。