BenUtilsの常用方法記録

2391 ワード

この依頼のカバンは、クラス名がフルネームです。
org.apache.commons.beanutils.BeanUtils
1.BenUtilsの役割:
BeanUtilsは、Apache Commonsコンポーネントのメンバーの一つであり、主にJavaBenパッケージデータの動作を簡略化するために用いられる。反射パッケージパラメータのステップを簡略化して,オブジェクトにパラメータをカプセル化する。特典:BenUtilsは対象パッケージのパラメータを渡す時にタイプ自動変換を行います。
2.JavaBean:
//JavaBeanは同じクラスですが、このクラスは以下の3つの条件を満たす必要があります。2.パラメータなしのコンストラクタを提供します。3.getterとsetter方法のアクセス属性を提供します。
3.BenUtilsの一般的な使い方:
BenUtils.co pyProperties(Object o 1,Object o 2)
シーン:
同じ属性のJavaBeanが二つあると、StrutsにあるPOオブジェクトと対応するアクションFormがよく見られます。例えば、ユーザー登録ページには、Userエンティティ類と一つのUser Action Formがあります。私たちは通常、アクションの中で、アクションのFormからPOオブジェクトを作成します。伝統的な方法は以下のような語句を使って属性に対して個別に値を付けます。
//    ActionForm        
UserActionForm uForm = (UserActionForm) form;   
//     User     
User user = new User();   
//        
user.setUsername(uForm.getUsername);   
user.setPassword(uForm.getPassword);   
user.setAge(uForm.getAge);  
ビームツールを使う方法:
//    ActionForm        
UserActionForm uForm = (UserActionForm) form;   
//     User     
User user = new User();   
//      
BeanUtils.copyProperties(user, uForm); 
属性効果は上記の単独設定と同じです。属性名が同じで、タイプが一致している場合のみ、割り当てが成功します。もしUserとUserAction Formが 間に名称が異なる属性が存在する場合、BenUtilsはこれらの属性を処理しないで、手動で処理する必要があります。
 
public static void set Property(Object bean、String name、Object value);指定されたオブジェクトbeanの指定name属性には、指定値valueが割り当てられます。//指定された属性が存在しないと何も発生しません。
 
public static String get Property(Object bean、String name);指定されたオブジェクトのbean指定name属性の値を取得します。//指定された属性が存在しない場合は、例外を投げます。属性の種類が配列タイプの場合、取得した値配列の最初の値です。
public static void poputlate(Object bean、Map properties);指定されたオブジェクトbeanには、Mapセットのデータをカプセル化します。オブジェクトbeanの属性名とMapセットのキーは同じです。例は次のように使います。
...
User s = new User();
//  Map  
Map map = new HashMap();
map.put("id", 1);
map.put("name","  ");
map.put("age",5);
//        ,       Map 。
User s = new User();
// map          。
BeanUtils.populate(s, map);
System.out.println("    "+s);
注意:オブジェクトのbeanの属性名とMapセットのキーは同じで、データの種類は一致します。
 
また、Beaビンにはgetとsetの方法が必要です。1.Beanutilsはオブジェクトに属性を設定する時はsetXXXの方法に依存します。2.BenUtilsがオブジェクトの属性を取得するときに依存するのは、getXXXメソッドです。 
また、パッケージをリードする際には必ずバッグをリードしてください。org.springframe ewark.beans.BenUtilsというspringのクラスバッグをリードするなら、copyPropties()方法は前のオブジェクトから後ろのオブジェクトに値を付けます。