BeanUtils工具包操作JavaBean
我們在操作JavaBean的時候 我們可以用Introspector的方式來操作,但是呢這樣需要我們寫大量的代碼 。?
Apache小組為我們提供了很有用的工具包來操作JavaBean??? 也就是BeanUtils工具包 ,這個可以到 apache.org 上面下載 commons-BeanUtils工具包,同時我們也要下載Logging也就是日志工具包 。???
我們下載好了BeanUtils工具包之后 打開之后 發現你面有一個docs? 那個就是幫助文檔 介紹了 Beanutils工具包中各種類的使用 ,這里 我們主要用到BeanUtils類?
BeanUtils類中的所有方法都是靜態方法 我們通過它的getProperty? setProperty方法? 等等方法??? 這里我們主要用到BeanUtils類?
首先我們應該將jar包加入到Eclipse的BuildPath中??? 然后我們才能使用BeanUtils工具包中的各種類?
下面是一個簡單的JavaBean
package me.test;
import java.util.Date;
public class BeanTest
{
? private int x? ;
? private Date birthday=new Date() ;
? public BeanTest(int x)
? {
?? this.x=x ;
? }
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
?
}
下面是操作
package me.test;
import java.lang.reflect.InvocationTargetException;
import java.util.*;
import org.apache.commons.beanutils.BeanUtils;
public class Test
{
?? public static? void main(String []args) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException
?? {
??? BeanTest t=new BeanTest(6)? ;
??? BeanUtils.setProperty(t,"x", 7);//設置x屬性?? ,利用BeanUtils設置值的時候 值可以是任意原始類型 也可以是String類型? 在web開發中我們用到的都是String類型 因為網頁間傳遞的是字串 如果我們不想進行字符串轉換 那個就用 PropertyUtils類 和? BeanUtils類有著同樣的作用只不過 PropertyUtils 不進行類型的轉換
??? System.out.println(BeanUtils.getProperty(t,"x"));?? //返回x屬性
??? BeanUtils.setProperty(t,"birthday.year", "111") ;? //這是birthday的year的屬性值
??? System.out.println(BeanUtils.getProperty(t,"birthday.year"));? //BeanUtils可以進行級聯設置
??? Map m=BeanUtils.describe(t);??? //將JavaBean的各種屬性以及值以Map的形式描述
???
?? }
}
?
轉載于:https://www.cnblogs.com/yuedongwei/archive/2012/02/04/4145531.html
總結
以上是生活随笔為你收集整理的BeanUtils工具包操作JavaBean的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS文件操作【转】
- 下一篇: 【转】Android OTA 升级之一: