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)これを推奨します.



		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());