黑馬程式設計師_BeanUtils包的使用,主要是BeanUtils和PropertyUtils的區別
阿新 • • 發佈:2019-02-12
---------------------- android培訓java培訓
期待與您交流! ----------------------
用BeanUtils工具包時,先要把兩個Jar包進行Building Path,就是引入兩個jar包,
commons-beanutils.jar
commons-logging-1.1.jar
- package com.base_super;
- import java.util.Date;
- import java.util.Map;
-
import
- import org.apache.commons.beanutils.PropertyUtils;
- /**
- * Apache 提供的BeanUtils工具包
- *
- * @author zjw
- *
- */
- publicclass BeanUtils_class {
- publicstaticvoid main(String[] args)throws Exception {
- methiod();
- }
-
publicstaticvoid methiod()
- JavaBean_BeanUtils_class bean=new JavaBean_BeanUtils_class(33,44);
- //如果用BeanUtils呼叫的JavaBean 一定要用public修飾,要不然報錯
- System.out.println(BeanUtils.getProperty(bean,"b"));//其他資料型別都自動轉換為字串型別,進行輸入輸出
-
System.out.println(BeanUtils.getProperty(new JavaBean_BeanUtils_class(
- BeanUtils.setProperty(bean,"str","aaaaaaaaaaaaaaaaaaaaaa");//通過BeanUtils設定JavaBean的值
- System.out.println(bean.getStr());
- //BeanUtils支援屬性鏈
- Date d=new Date();
- // d.setHours(hours);
- // d.setMinutes(minutes);
- // d.setMonth(month);
- // d.setSeconds(seconds);
- // d.setYear(year);
- // d.setTime(time);
- // d.setDate(date);
- // d.getDay();//這個getDay不行,所以一般用屬性鏈時,最好用set方法的屬性(自我總結)
- //Date中封裝了這些個屬性,都可以用做屬性鏈,但每個屬性都有自己的長度等限制,用時小心點
- BeanUtils.setProperty(bean,"birthday.time","333333");
- System.out.println(BeanUtils.getProperty(bean,"birthday.time"));
- /*
- * Map和JavaBean都是屬性,值的組合方式,很相似,可以同過BeanUtils工具相互轉換
- *
- */
- //這是JDK1.7的新特性,Map的新的定義方式
- // Map map={name:"wjw",age:23};
- // System.out.println(BeanUtils.setProperty(map,"name","wjw_java"));//BeanUtils也可以對Map進行操作
- /*
- * BeanUtils以字串型別進行操作
- * PropertyUtils以資料本身的型別進行操作
- */
- PropertyUtils.setProperty(bean,"str","3331111");//str本身是字串型別
- System.out.println(PropertyUtils.getProperty(bean,"str"));
- PropertyUtils.setProperty(bean,"a",99999999);//a本身是整形資料型別
- System.out.println(PropertyUtils.getProperty(bean,"a"));
- }
- }
- 對應的JavaBean
- package com.base_super;
- import java.util.Date;
- publicclass JavaBean_BeanUtils_class{
- privateint a;
- privateint b;
- private String str="dddddddd";
- private Date birthday =new Date();//例項化物件,用BeanUtils就可以使用Date中的屬性了
- public JavaBean_BeanUtils_class(int a,int b){
- this.a=a;
- this.b=b;
- }
- publicint getA() {
- return a;
- }
- publicvoid setA(int a) {
- this.a = a;
- }
- publicint getB() {
- return b;
- }
- publicvoid setB(int b) {
- this.b = b;
- }
- public String getStr() {
- return str;
- }
- publicvoid setStr(String str) {
- this.str = str;
- }
- public Date getBirthday() {
- return birthday;
- }
- publicvoid setBirthday(Date birthday) {
- this.birthday = birthday;
- }
- }