浠婂ぉ鍦ㄤ紭鍖?a target="_blank" href="http://m.tkk7.com/kingyaoo/articles/206149.html">InstantMVC鐨勬椂鍊欏氨鑰冭檻鎬庝箞鎻愰珮鑷姩灝佽form鐨勬晥鐜囷紝struts鏄敤鐨刢ommons-beantuils錛屽ソ鍍忎篃娌′漢璇磗truts鐨勬晥鐜囦笉楂橈紝璇氱劧錛宐eanUtils涓緢澶氭湁鐢ㄦ柟渚跨殑鐗規ц鍙嶅皠寮鍙戣呯潃榪鳳紝浣嗘槸閫氳繃鎴戜粖澶╃殑嫻嬭瘯錛屽嵈鍙戠幇beanUtils鐨勬槗鐢ㄦц浠樺嚭宸ㄥぇ鐨勬ц兘浠d環錛岃櫧鐒跺湪鐜板湪榪欎釜騫翠唬錛岃繖涔堢偣鎬ц兘涓嶇畻浠涔堬紝浣嗘槸瀵逛簬鎴戣繖縐嶆墽鐫鐨勪漢寮鍙戞墽鐫鐨勬鏋訛紝榪樻槸瀵規ц兘鏈夌鐙壒鐨勫亸濂斤紝鐩墠鏉ヨInstantMVC涓敤鐨勬槸鐩存帴鐨勫弽灝勭畝鍗曞皝瑁咃紝鑰孖nstantORM錛堟垜鐨勬寔涔呭眰妗嗘灦錛変腑鐢ㄥ埌鏄嚜鍔ㄧ敓鎴恜ojo鍜岀浉搴旂殑pojo杈呭姪綾繪潵瀹炵幇鍔ㄦ侀珮鏁堬紙姣旂洿鎺ョ殑鍙嶅皠楂樻晥10-20鍊嶏級鎵цObject鐨勬柟娉曪紙涓鑸槸get鍜宻et錛夛紝瀵逛簬InstantMVC鐨刦orm鍒╃敤鍔ㄦ佺敓鎴愯緟鍔╃被鏈変竴瀹氱殑闅懼害錛屼笉鏄瀹炵幇闅懼害錛岃屾槸瀵逛簬榪愮敤璇ユ鏋剁殑web寮鍙戣呮潵璇達紝涓嶅鐩存帴銆傛墍浠ヨ繕鏄富瑕佽冭檻鐢ㄥ弽灝勭殑錛屽簾璇濅笉璇達紝涓嬮潰寮濮嬩粖澶╃殑嫻嬭瘯銆?br />
棣栧厛錛屾祴璇曚富瑕佹湁涓夐儴鍒嗙粍鎴愶紝嫻嬭瘯鍒涘緩瀵硅薄鐨勬ц兘錛屾祴璇晄et鏂規硶鐨勬ц兘錛屾祴璇昰et鏂規硶鐨勬ц兘銆傛垜娌℃湁鐪嬭繃beanUtils鐨勬簮浠g爜錛屼笉榪囪瘎鎴戠殑緇忛獙鎯蟲兂BeanUtils搴旇鏄仛浜嗕竴浜涙ц兘鐨勪紭鍖栫殑錛屽垵姝ョ寽嫻嬫槸絎竴嬈¤繍琛岀紦瀛極bject鐨勭浉搴斾笢涓滐紙鍏蜂綋鏄粈涔堜篃涓嶇煡閬擄級錛屾墍浠ユ祴璇曠殑鏃跺欓兘鏄粠絎簩嬈″紑濮嬶紝蹇界暐絎竴嬈°備笅闈㈡槸嫻嬭瘯浠g爜錛堢渷鐣ヤ簡寮傚父鎶涘嚭銆傦級
public class MyBean {
String name;
int age;
String[] firends;
public static void main(String args[]) {
Object o1=beanUtilsCreate();
Object o2=javaCreate();
MyBean my=new MyBean();
long a=System.currentTimeMillis();
for(int i=0;i<5000;i++){
//47
//beanUtilsCreate();
//15
//javaCreate();
//0
//manualCreate();
//235
//beanUtilsSet(o1);
//40
//javaSet(o2);
//0
//manualSet(my);
//203
//beanUtilsGet(o1);
//47
//javaGet(o2);
//0
//manualGet(my);
}
long b=System.currentTimeMillis();
System.out.println(b-a);
}
//===============涓嬮潰鏄?nbsp;beanUtils鐨勬柟娉?/span>
public static Object beanUtilsCreate() {
Object ob=ConstructorUtils.invokeConstructor(MyBean.class,null);
return ob;
}
public static void beanUtilsSet(Object ob) {
BeanUtils.setProperty(ob, "name", "鏃烘椇鏃?/span>");
}
public static void beanUtilsGet(Object ob) {
BeanUtils.getProperty(ob, "name");
}
// ===============涓嬮潰鏄?nbsp;java鑷韓鐨勭洿鎺ュ弽灝勭殑鏂規硶
public static Object javaCreate() {
Object ob=MyBean.class.newInstance();
return ob;
}
public static void javaSet(Object ob) {
Method m=MyBean.class.getDeclaredMethod("setName", new Class[]{String.class});
m.invoke(ob,new Object[]{"鏃烘椇鏃?/span>"});
}
public static void javaGet(Object ob) {
Method m=MyBean.class.getDeclaredMethod("getName", new Class[0]);
m.invoke(ob,new Object[0]);
}
// ===============涓嬮潰鏄?nbsp;鎵嬪姩鐨勫垱寤哄璞?/span>
public static MyBean manualCreate(){
MyBean my=new MyBean();
return my;
}
public static void manualSet(MyBean my){
my.setName("鏃烘椇鏃?/span>");
}
public static void manualGet(MyBean my){
my.getName();
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String[] getFirends() {
return firends;
}
public void setFirends(String[] firends) {
this.firends = firends;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
涓婇潰浠g爜棣栧厛鍒涘緩涓涓狹yBean錛岀畝鍗曠殑name鍜宎ge灞炴э紝鐒跺悗get鍜宻et鏂規硶錛屽湪main鏂規硶涓鍏堟瀯寤轟笁涓被錛?br />
Object o1=beanUtilsCreate();
Object o2=javaCreate();
MyBean my=new MyBean();
涓轟簡闃叉beanUtils鍐呴儴瀵圭涓嬈″仛浜嗙紦瀛樻搷浣滆屼嬌嫻嬭瘯涓嶅噯紜?br />
絎簩嬈″紑濮嬭繛緇驚鐜?000嬈″垎鍒祴璇?Create錛宻et錛屽拰get鐨勬ц兘銆?br />
緇撴灉鏄劇ず濡備笅錛?br />
===================================================
BeanUtils java鑷繁鍙嶅皠 鎵嬪姩
鍒涘緩錛?nbsp; 47 15 0
set鏂規硶 235 40 0
get鏂規硶 203 47 0
===================================================
jdk 1.6錛?G鍐呭瓨錛孉MD 2600+
浠庝笂闈㈢殑緇撴灉鍙互鐪嬪嚭錛孊eanUtils鐨勬ц兘紜疄涓嶆庝箞鏍鳳紝榪欐牱鐨勭粨鏋滆櫧鐒跺湪鐜頒唬鏈嶅姟鍣ㄩ兘鑿滀環浜嗙殑騫翠唬錛屾垜榪樻槸瑕佷負struts鍜宻pring絳夊熀浜庡弽灝勭殑妗嗘灦鎹忎竴鎶婃睏銆備笉鐭ラ亾spring鏈夋病鏈夊鍙嶅皠鍋氳繃浼樺寲錛屼笉榪囦笂嬈$湅Ibatis鐨勬椂鍊欏ソ鍍忎粬鎻愪緵浜嗕竴涓厤緗夐」鏉ュ寮哄瓧鑺傜爜鐨勫弽灝勬晥鐜囷紝澶ф灝辨槸閭g鍔ㄦ佸垱寤哄瓧鑺傜爜鐨勬妧鏈惂銆?br />

]]>