BeanUtils--DynaBean
1710 ワード
DynaBean DynaClass DynaProperty
DynaBeanは、属性を処理するためにDynaClassを実装します.
DynaProperty(name,type,contentType)
リスト、Map、contentTypeがエレメントカテゴリを表す場合(typeがprimitive、true、primitive番号を書くと判断)
//dynaBeanClassは任意のDynaBeanインタフェースを実現したクラスであり、constructorTypeはこれである.
//クラスの構築方法に必要なパラメータのタイプ
constructor = dynaBeanClass.getConstructor(constructorTypes);
//constructorValuesは構築方法のパラメータ値であり、実際には現在のBasicDynaClassの値である
return ((DynaBean) constructor.newInstance(constructorValues));
①BasicDynaClass()は自分でset器で初期化する.
②BasicDynaClass(String name,Class dynaBeanClass)LazyDynaBeanでない場合
③BasicDynaClass(String name,Class dynaBeanClass,DynaProperty[]properties)これを推奨します.
DynaBeanは、属性を処理するためにDynaClassを実装します.
DynaProperty(name,type,contentType)
リスト、Map、contentTypeがエレメントカテゴリを表す場合(typeがprimitive、true、primitive番号を書くと判断)
//dynaBeanClassは任意のDynaBeanインタフェースを実現したクラスであり、constructorTypeはこれである.
//クラスの構築方法に必要なパラメータのタイプ
constructor = dynaBeanClass.getConstructor(constructorTypes);
//constructorValuesは構築方法のパラメータ値であり、実際には現在のBasicDynaClassの値である
return ((DynaBean) constructor.newInstance(constructorValues));
①BasicDynaClass()は自分でset器で初期化する.
②BasicDynaClass(String name,Class dynaBeanClass)LazyDynaBeanでない場合
③BasicDynaClass(String name,Class dynaBeanClass,DynaProperty[]properties)これを推奨します.
DynaProperty[] props = new DynaProperty[] {//
new DynaProperty("name", String.class),
new DynaProperty("age", Integer.class),
new DynaProperty("birth", Date.class) };
BasicDynaClass testClass = new BasicDynaClass("politician", //class
BasicDynaBean.class, props);
DynaBean dynaBean = testClass.newInstance(); //
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
dynaBean.set("name", " ");
dynaBean.set("age", 22);
dynaBean.set("birth", sdf.parse("1988-10-17"));
StringBuilder sb = new StringBuilder();
sb.append("name:").append(dynaBean.get("name")).append("
age").append(
dynaBean.get("age")).append("
birth:").append(
dynaBean.get("birth"));
System.out.println(sb.toString());