锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久久亚洲Av无码专,亚洲综合视频在线,亚洲精品视频在线看http://www.tkk7.com/51AOP/category/10477.html鍏蟲敞SoA鍙戝睍zh-cnTue, 27 Feb 2007 12:31:36 GMTTue, 27 Feb 2007 12:31:36 GMT60Spring in Action 絎旇 (IV) -- i18n闂鍜岃嚜瀹氫箟灞炴х紪杈戝櫒http://www.tkk7.com/51AOP/archive/2006/05/29/48700.html鍐伴洦鍐伴洦Mon, 29 May 2006 03:24:00 GMThttp://www.tkk7.com/51AOP/archive/2006/05/29/48700.htmlhttp://www.tkk7.com/51AOP/comments/48700.htmlhttp://www.tkk7.com/51AOP/archive/2006/05/29/48700.html#Feedback0http://www.tkk7.com/51AOP/comments/commentRss/48700.htmlhttp://www.tkk7.com/51AOP/services/trackbacks/48700.htmlSpring in Action 絎旇聽(IV) -- i18n闂鍜岃嚜瀹氫箟灞炴х紪杈戝櫒

聽 BY: icess Blog: http://blog.matrix.org.cn/page/icess

聽聽 鍦⊿pring涓鐞咺18N闂鍜屼嬌鐢↗ava閲岄潰鐨勭被鍩烘湰涓婃槸涓鏍風殑.浣跨敤org.springframework.context.support.ResourceBundleMessageSource

鐒跺悗娉ㄥ叆璧勬簮鏂囦歡(涓涓悕瀛椾負basename鐨勫睘鎬?,鐒跺悗灝卞彲浠ュ湪Context涓嬌鐢ㄨ祫婧愭枃浠朵簡, 濡備笅涓轟竴涓厤緗ず渚? test.xml

<?

xml version = "1.0" encoding = "UTF-8" ?>

<!

DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "spring-beans.dtd" >

<

beans >

< bean id = "messageSource" class = "org.springframework.context.support.ResourceBundleMessageSource" >

< property name = "basename" >

<!-- 娉ㄦ剰姝ゅ璁劇疆 璧勬簮 鍚嶅瓧 鍜岃礬寰?-->

< value > test/i18n/test </ value >

</ property >

</ bean >

</

beans >

涓嬮潰涓鴻祫婧愭枃浠?test.properties

name =

\u51B0\u96E8

sex =

\u5148\u751F

test_zh.properties

name =

\u51B0\u96E8

sex =

\u5148\u751F

test_en_US.properties

name =

ice rain

sex =

male

涓嬮潰鏄竴涓畝鍗曠殑嫻嬭瘯綾?

package

test.i18n;

import

java.util.Locale;

import

org.springframework.context.ApplicationContext;

import

org.springframework.context.support.ClassPathXmlApplicationContext;

public

class TestI18n {

/**

* @param args

*/

聽 public static void main(String[] args) {

聽聽聽 // TODO Auto-generated method stub

聽聽聽 ApplicationContext context =

new ClassPathXmlApplicationContext( "test/i18n/test.xml" );

聽聽聽 String text = context.getMessage(

"sex" , new Object[0], Locale. US );

聽聽聽 String textZH = context.getMessage(

"sex" , new Object[0], Locale. CHINA );

聽聽聽 System.

out .println(text + " 涓枃:" +textZH);

聽 }

}

寰堢畝鍗?榪欐牱灝卞彲浠ヤ簡.

涓嬮潰鏉ョ湅鐪婼pring涓殑灞炴ц嚜瀹氫箟緙栬緫鍣?榪欎釜鍜孒ibernate涓殑鑷畾涔夊睘鎬у樊涓嶅 鐨? 渚嬪涓嬮潰鎴戜滑瑕佺湅鍒頒簡渚嬪瓙,鏄犲皠涓涓數璇濆彿鐮?鏈?font size="2">areaCode,prefix鍜?number, 濡傛灉涓嶄嬌鐢ㄨ嚜瀹氫箟灞炴х紪杈戝櫒閭d箞灝辮鍒嗗埆娉ㄥ叆涓婇潰鐨?涓唬鐮?楹葷儲. 濡傛灉浣跨敤鑷畾涔夊睘鎬х紪杈戝櫒,鐩存帴娉ㄥ叆涓涓?鍒嗗紑鐨勬暟瀛楀簭鍒楀氨鍙互浜?濡?/p>

888-666-9999

.鍦ㄤ笅闈㈢殑渚嬪瓙涓殑Contact.java綾繪湁涓狿honeNumber灞炴?閲岄潰淇濆瓨浜嗕笂闈㈢殑3涓唬鐮?涓や釜綾葷殑浠g爜濡備笅:

package聽 test.propertyEditor;

public聽class聽 Contact聽{
聽聽 private聽 PhoneNumber聽phoneNumber;
聽聽 private聽 String聽name;
聽聽
聽聽 public聽 Contact()聽{}
聽聽
聽聽 public聽 String聽getName()聽{
聽聽聽聽 return聽 name;
聽聽 }

聽聽 public聽void聽 setName(String聽name)聽{
聽聽聽聽 this .name聽=聽name;
聽聽 }

聽聽 public聽 PhoneNumber聽getPhoneNumber()聽{
聽聽聽聽 return聽 phoneNumber;
聽聽 }

聽聽 public聽void聽 setPhoneNumber(PhoneNumber聽phoneNumber)聽{
聽聽聽聽 this .phoneNumber聽=聽phoneNumber;
聽聽 }
聽聽
}

PhoneNumber.java

package聽 test.propertyEditor;

public聽class聽 PhoneNumber聽{
聽聽 private聽 String聽areaCode;
聽聽 private聽 String聽prefix;
聽聽 private聽 String聽number;
聽聽 public聽 PhoneNumber()聽{
聽聽聽聽
聽聽 }
聽聽 public聽 PhoneNumber(String聽areaCode,String聽prefix,String聽number)聽{
聽聽聽聽 this .areaCode聽=聽areaCode;
聽聽聽聽 this .prefix聽=聽prefix;
聽聽聽聽 this .number聽=聽number;
聽聽 }
聽聽 public聽 String聽getAreaCode()聽{
聽聽聽聽 return聽 areaCode;
聽聽 }
聽聽 public聽void聽 setAreaCode(String聽areaCode)聽{
聽聽聽聽 this .areaCode聽=聽areaCode;
聽聽 }
聽聽 public聽 String聽getNumber()聽{
聽聽聽聽 return聽 number;
聽聽 }
聽聽 public聽void聽 setNumber(String聽number)聽{
聽聽聽聽 this .number聽=聽number;
聽聽 }
聽聽 public聽 String聽getPrefix()聽{
聽聽聽聽 return聽 prefix;
聽聽 }
聽聽 public聽void聽 setPrefix(String聽prefix)聽{
聽聽聽聽 this .prefix聽=聽prefix;
聽聽 }
}

鐒跺悗瀹氫箟涓涓敤鏉ョ紪杈慞honeNumber鐨勭紪杈戝櫒PhoneEditor.java 濡備笅:

package聽 test.propertyEditor;

import聽 java.beans.PropertyEditorSupport;

public聽class聽 PhoneEditor聽 extends聽 PropertyEditorSupport聽{
聽聽 public聽void聽 setAsText(String聽textValue)聽{
聽聽聽聽 String聽stripped聽=聽stripNonNumber(textValue);
聽聽聽聽
聽聽聽聽 String聽areaCode聽=聽stripped.substring( 0 , 3 );
聽聽聽聽 String聽prefix聽=聽stripped.substring( 3 , 6 );
聽聽聽聽 String聽number聽=聽stripped.substring( 6 );
聽聽聽聽 PhoneNumber聽phone聽=聽 new聽 PhoneNumber(areaCode,prefix,number);
聽聽聽聽
聽聽聽聽 setValue(phone);
聽聽 }
聽聽
聽聽 private聽 String聽stripNonNumber(String聽original)聽{
聽聽聽聽 StringBuilder聽allNumeric聽=聽 new聽 StringBuilder();
聽聽聽聽
聽聽聽聽 for ( int聽 i聽=聽 0 ;聽i聽<聽original.length();聽i聽++)聽{
聽聽聽聽聽聽 char聽 c聽=聽original.charAt(i);
聽聽聽聽聽聽 if (Character.isDigit(c))聽{
聽聽聽聽聽聽聽聽 allNumeric.append(c);
聽聽聽聽聽聽 }
聽聽聽聽 }
聽聽聽聽 return聽 allNumeric.toString();
聽聽 }
}

緇ф壙java閲岄潰鐨勫睘鎬х紪杈戝櫒,瀹炵幇閲岄潰鐨勪竴涓柟娉曞氨鍙互浜? 涓嬮潰灝辨槸鍦ㄩ厤緗枃浠朵腑娉ㄥ唽璇ョ紪杈戝櫒.濡備笅:

testPropertyEditor.xml

<?

xml version = "1.0" encoding = "UTF-8" ?>

<!

DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "spring-beans.dtd" >

<

beans >

< bean id = "customEditorConfigurer" class = "org.springframework.beans.factory.config.CustomEditorConfigurer" >

< property name = "customEditors" >

< map >

< entry key = "test.propertyEditor.PhoneNumber" >

< bean id = "phoneEditor" class = "test.propertyEditor.PhoneEditor" ></ bean >

</ entry >

</ map >

</ property >

</ bean >

<!-- 濡傛灉涓嶆敞鍐屼笂闈㈣嚜瀹氫箟Editor鐨勫疄鐜? 闇瑕佹敞鍐屼竴涓狿honeNumber鐨刡ean,璁劇疆鍏跺睘鎬х劧鍚庡啀娉ㄥ唽

Contact鐨凱honeNumber鐨勫睘鎬?/p>

-->

< bean id = "contact" class = "test.propertyEditor.Contact" >

< property name = "phoneNumber" >

< value > 888-666-9999 </ value >

</ property >

</ bean >

</

beans >

鏈鍚庢潵嫻嬭瘯涓涓嬫敞鍐岀殑緇撴灉鏄惁姝g‘:

package聽 test.propertyEditor;

import聽 org.springframework.context.ApplicationContext;
import聽 org.springframework.context.support.ClassPathXmlApplicationContext;

public聽class聽 TestPropertyEditor聽{

聽聽 /**
聽聽聽 *聽 @param聽 args
聽聽聽 */
聽聽 public聽static聽void聽 main(String[]聽args)聽{
聽聽聽聽 //聽TODO聽Auto-generated聽method聽stub
聽聽聽聽 ApplicationContext聽context聽=聽 new聽 ClassPathXmlApplicationContext( "test/propertyEditor/testPropertyEditor.xml" );
聽聽聽聽 Contact聽c聽=聽(Contact)聽context.getBean( "contact" );
聽聽聽聽
聽聽聽聽 System.out.println(c.getPhoneNumber().getAreaCode());
聽聽聽聽 System.out.println(c.getPhoneNumber().getPrefix());
聽聽聽聽 System.out.println(c.getPhoneNumber().getNumber());
聽聽 }

}

ok, 寰堢畝鍗?涓嬩竴嬈℃潵鐪嬬湅,Spring鎻愪緵鐨勪竴涓嬫瘮杈冩湁鎰忔濈殑鍔熻兘.濡傚畾鏃?鍙戦丒mail絳?



鍐伴洦 2006-05-29 11:24 鍙戣〃璇勮
]]>
Spring in Action 絎旇(III) -- 鍦⊿pring涓嬬殑Hibernate鏁版嵁鎿嶄綔 http://www.tkk7.com/51AOP/archive/2006/05/27/48456.html鍐伴洦鍐伴洦Sat, 27 May 2006 03:01:00 GMThttp://www.tkk7.com/51AOP/archive/2006/05/27/48456.htmlhttp://www.tkk7.com/51AOP/comments/48456.htmlhttp://www.tkk7.com/51AOP/archive/2006/05/27/48456.html#Feedback0http://www.tkk7.com/51AOP/comments/commentRss/48456.htmlhttp://www.tkk7.com/51AOP/services/trackbacks/48456.html

Spring in Action 絎旇(III)

By: icess blog: http://blog.matrix.org.cn/page/icess

榪欐鏉ョ湅鐪嬩嬌鐢⊿pring鐨凥ibernate妯℃澘鏉ユ搷浣滄暟鎹? Spring鎻愪緵浜咹ibernate鐨勪竴灞傚寘瑁?浣縃ibernate浣跨敤璧鋒潵鏇村姞鏂逛究,灝ゅ叾鏄粨鍚圚ibernate Annotation鏃? 閰嶇疆鏂囦歡鏇村皯,緇存姢鏇村姞綆鍗? 涓嬮潰鏉ョ湅鐪嬪惂.

涓嬮潰鏄竴涓祴璇曟暟鎹疄浣撶被TestData.java 鍜屽墠涓綃囨彁鍒扮殑瀹炰綋綾諱竴鏍?鍙笉榪囩敤浜咥nnotation娉ㄩ噴.聽

package聽 test.orm.hibernate.model;

import聽 javax.persistence.Basic;
import聽 javax.persistence.Entity;
import聽 javax.persistence.Id;
import聽 javax.persistence.Table;


@Entity
@Table(name聽=聽 "test" ,schema聽=聽 "APP" )
public聽class聽 TestData聽{
聽聽 private聽int聽 id;
聽聽 private聽 String聽name;
聽聽 public聽 TestData( int聽 id,聽String聽name)聽{
聽聽聽聽 this .id聽=聽id;
聽聽聽聽 this .name聽=聽name;
聽聽 }
聽聽 public聽 TestData()聽{}
聽聽
聽聽 @Id
聽聽 public聽int聽 getId()聽{
聽聽聽聽 return聽 id;
聽聽 }
聽聽 public聽void聽 setId( int聽 id)聽{
聽聽聽聽 this .id聽=聽id;
聽聽 }
聽聽 @Basic
聽聽 public聽 String聽getName()聽{
聽聽聽聽 return聽 name;
聽聽 }
聽聽 public聽void聽 setName(String聽name)聽{
聽聽聽聽 this .name聽=聽name;
聽聽 }
}

涓嬮潰鏄祴璇旽ibernate妯℃澘鐨勭被, TestHibernateTemplate.java

package聽 test.orm.hibernate;

import聽 java.sql.SQLException;

import聽 org.hibernate.HibernateException;
import聽 org.hibernate.Session;
import聽 org.springframework.orm.hibernate3.HibernateCallback;
import聽 org.springframework.orm.hibernate3.HibernateTemplate;

import聽 test.orm.hibernate.model.TestData;


public聽class聽 TestHibernateTemplate聽{
聽聽 private聽 HibernateTemplate聽hibernateTemplate;
聽聽
聽聽 public聽 TestHibernateTemplate()聽{}

聽聽 public聽 HibernateTemplate聽getHibernateTemplate()聽{
聽聽聽聽 return聽 hibernateTemplate;
聽聽 }

聽聽 public聽void聽 setHibernateTemplate(HibernateTemplate聽hibernateTemplate)聽{
聽聽聽聽 this .hibernateTemplate聽=聽hibernateTemplate;
聽聽 }
聽聽
聽聽 //嫻嬭瘯浣跨敤HibernateTemplate鏉ユ搷浣滄暟鎹?/font>
聽聽 public聽 TestData聽getTestData( final聽int聽 id)聽{
聽聽聽聽 return聽 (TestData)聽hibernateTemplate.execute( new聽 HibernateCallback()聽{

聽聽聽聽聽聽 public聽 Object聽doInHibernate(Session聽s)聽 throws聽 HibernateException,聽SQLException聽{
聽聽聽聽聽聽聽聽 //聽TODO聽Auto-generated聽method聽stub
聽聽聽聽聽聽聽聽 return聽 s.get(TestData.class,聽id);
聽聽聽聽聽聽 }
聽聽聽聽聽聽
聽聽聽聽 });
聽聽 }
//聽聽涓婇潰鏌ヨ鏁版嵁鐨勬柟娉暵犱嬌鐢ㄤ簡HibernateCallBack鎺ュ彛,瀵逛簬榪欐牱綆鍗曠殑鏌ヨ,鍙互浣跨敤涓嬮潰鐢盚ibernateTemplate聽鎻愪緵鐨勬洿綆鍗曠殑鏂規硶
聽聽 public聽 TestData聽getTestData2( final聽int聽 id)聽{
聽聽聽聽 return聽 (TestData)聽hibernateTemplate.get(TestData.class,聽id);
聽聽 }
聽聽 /*聽濡傛灉涓婇潰鐨勪袱澶勬柟娉曚嬌鐢↙oad聽鏂規硶鐨勬椂,聽鎶涘嚭寤惰繜鍔犺澆灞炴у紓甯?聽Spring綆$悊Session鐨勯棶棰?聽搴旇鏄疭pring鐢ㄥ畬Session聽鐒跺悗灝卞叧闂簡,
聽聽聽 *聽鎵浠ヤ笉鍙互寤惰繜鍔犺澆,聽涔熷氨涓嶅彲浠ヤ嬌鐢╨oad聽鏂規硶浜?,?????聽涓轟粈涔????*/
聽聽
聽聽 //聽鍏朵粬鎿嶄綔鏁版嵁鏂規硶聽濡?聽鎻掑叆,淇敼....聽鍜屼嬌鐢℉ibernate聽session聽宸笉澶?聽HibernateTemplate鍙槸Session鐨勫寘瑁?/font>
}

鍙互鐪嬪埌浣跨敤Hibernate妯℃澘鏉ユ搷浣滄暟鎹?鏄涔堢畝鍗?

娉ㄦ剰: 涓婇潰娉ㄩ噴涓?鎻愬埌浜嗗湪浣跨敤Load鏂規硶鏃跺?浼氭湁闂, Session in view 鏃跺欎嬌鐢╨oad鏄笉浼氬嚭闂鐨? 榪欓噷Spring鎻愪緵鐨勬柟娉曞簲璇ユ槸鎸夌収Hibernate鐨勮涔夊啓鐨勫惂.

涓嬮潰灝辨槸鐢ㄦ潵嫻嬭瘯涓婇潰鐨勭被鏄惁姝e父宸ヤ綔鐨勬祴璇曠被浜?TestApp.java

package聽 test.orm.hibernate;

import聽 org.springframework.context.ApplicationContext;
import聽 org.springframework.context.support.ClassPathXmlApplicationContext;

import聽 test.jdbc.DatabaseUtils;
import聽 test.orm.hibernate.model.TestData;

public聽class聽 TestApp聽{

聽聽 /**
聽聽聽 *聽 @param聽 args
聽聽聽 */
聽聽 public聽static聽void聽 main(String[]聽args)聽{
聽聽聽聽 //聽TODO聽Auto-generated聽method聽stub
聽聽聽聽 DatabaseUtils聽dataUtils聽=聽 new聽 DatabaseUtils();
聽聽聽聽 dataUtils.connect();
聽聽聽聽 System.out.println( "Open聽database:!" );
聽聽聽聽 ApplicationContext聽context聽=聽 new聽 ClassPathXmlApplicationContext( "test/orm/hibernate/spring-hibernate.xml" );
聽聽聽聽
聽聽聽聽 TestHibernateTemplate聽hibernateTemplate聽=聽(TestHibernateTemplate)聽context.getBean( "testDao" );
聽聽聽聽
聽聽聽聽 System.out.println( "name聽:聽"聽 );
聽聽聽聽 TestData聽data聽=聽hibernateTemplate.getTestData( 9 );
聽聽聽聽 System.out.println( "name聽:聽"聽 +聽data.getName());
聽聽聽聽 data聽=聽hibernateTemplate.getTestData2( 3 );
聽聽聽聽 System.out.println( "name聽2:聽"聽 +聽data.getName());
聽聽聽聽
聽聽聽聽
聽聽聽聽 dataUtils.disconnect();
聽聽聽聽
聽聽 }

}

娉ㄦ剰: 鏈祴璇曚腑鐢ㄥ埌浜嗕笂涓綃囦嬌鐢ㄥ埌鐨?font color="#000000">DatabaseUtils.java 宸ュ叿綾繪潵鎿嶄綔Derby鏁版嵁搴?

鐢?/span> 浠ヤ笂瀹炰緥鍙互鐪嬪嚭,鍦⊿pring涓嬌鐢℉ibernate,鏁堢巼鏇撮珮涓浜? 浣犱笉榪欐牱璁や負鍚?

鍚屾椂 Spring涔熸彁渚涗簡 JDO絳夊叾浠栦竴浜涙暟鎹搷浣滄鏋剁殑鍖呰,浣跨敤涓婂熀鏈笂聽鏄竴鏍風殑榪欓噷灝變笉鍦ㄨ榪頒簡.

涓嬩竴嬈℃垜浠潵鐪嬬湅Spring鐨処18N澶勭悊,鍜岃嚜瀹氫箟灞炴х紪杈戝櫒鐨勫疄鐜?



鍐伴洦 2006-05-27 11:01 鍙戣〃璇勮
]]>
Spring in Action 絎旇(II)http://www.tkk7.com/51AOP/archive/2006/05/25/47918.html鍐伴洦鍐伴洦Wed, 24 May 2006 16:04:00 GMThttp://www.tkk7.com/51AOP/archive/2006/05/25/47918.htmlhttp://www.tkk7.com/51AOP/comments/47918.htmlhttp://www.tkk7.com/51AOP/archive/2006/05/25/47918.html#Feedback0http://www.tkk7.com/51AOP/comments/commentRss/47918.htmlhttp://www.tkk7.com/51AOP/services/trackbacks/47918.html闃呰鍏ㄦ枃

鍐伴洦 2006-05-25 00:04 鍙戣〃璇勮
]]>
Spring in Action 絎旇(I) http://www.tkk7.com/51AOP/archive/2006/05/22/47456.html鍐伴洦鍐伴洦Mon, 22 May 2006 06:13:00 GMThttp://www.tkk7.com/51AOP/archive/2006/05/22/47456.htmlhttp://www.tkk7.com/51AOP/comments/47456.htmlhttp://www.tkk7.com/51AOP/archive/2006/05/22/47456.html#Feedback0http://www.tkk7.com/51AOP/comments/commentRss/47456.htmlhttp://www.tkk7.com/51AOP/services/trackbacks/47456.html

By : icess ,鎴戠殑閮ㄨ惤鏍?http://blog.matrix.org.cn/page/icess

鍦ㄨ冭瘯鍓嶅寙鍖嗙湅浜嗕竴閬峉pring in Action 涔熸病鏈夎褰曚粈涔?鑰冭瘯緇撴潫浜?瑕佹姄绱ф椂闂存暣鐞嗕竴涓?瑕佷笉鐒跺氨蹇樹簡.^_^:

鏁寸悊涓涓嬫垜鐩墠鍙兘浼氱敤鍒扮殑妯″潡, 瀵逛簬閭d簺鐜板湪鏍規湰鐢ㄤ笉鍒扮殑鍐啲榪樻槸絳夋湁鏃墮棿鍐嶇爺絀跺惂!

絎竴涓綋鐒舵槸鏈緇忓吀鐨凥elloWorld 浜?, 鍛靛懙,綆鍗?浣嗘槸璇存槑浜嗗師鐞?

瀹氫箟涓涓湇鍔℃帴鍙?/p>

package聽 test.helloworld;

public聽interface聽 GreetingService聽{
聽聽 public聽void聽 sayGreeting();

}

涓嬮潰鏄叾瀹炵幇:

package聽 test.helloworld;

public聽class聽 GreetingServiceImpl聽 implements聽 GreetingService聽{

聽聽 private聽 String聽greeting;
聽聽 public聽 GreetingServiceImpl()聽{}
聽聽 public聽 GreetingServiceImpl(String聽greeting)聽{
聽聽聽聽 this .greeting聽=聽greeting;
聽聽 }
聽聽 public聽void聽 sayGreeting()聽{
聽聽聽聽 //聽聽Auto-generated聽method聽stub
聽聽聽聽 System.out.println(greeting);
聽聽 }
聽聽
聽聽 public聽void聽 setGreeting(String聽greeting)聽{
聽聽聽聽 this .greeting聽=聽greeting;
聽聽 }

}

鐒跺悗灝辨槸嫻嬭瘯 IoC 鐨勬祴璇曚唬鐮?

package聽 test.helloworld;


import聽 org.springframework.beans.factory.BeanFactory;
import聽 org.springframework.beans.factory.xml.XmlBeanFactory;
import聽 org.springframework.context.ApplicationContext;
import聽 org.springframework.context.support.ClassPathXmlApplicationContext;
import聽 org.springframework.core.io.FileSystemResource;

public聽class聽 HelloApp聽{

聽聽 /**
聽聽聽 *聽 @param聽 args
聽聽聽 */
聽聽 public聽static聽void聽 main(String[]聽args)聽{
聽聽聽聽 //聽TODO聽Auto-generated聽method聽stub
//聽聽聽聽BeanFactory聽factory;
//聽聽聽聽factory聽=聽new聽XmlBeanFactory(new聽FileSystemResource("src/test/helloworld/hello.xml"));
聽聽聽聽 //聽浣跨敤涓嶅悓鐨勬柟娉曞緱鍒癰ean.聽(BeanFactory聽or聽ApplicationContext)
聽聽聽聽 ApplicationContext聽context聽=聽 new聽 ClassPathXmlApplicationContext( "test/helloworld/hello.xml" );
聽聽聽聽
聽聽聽聽
聽聽聽聽 GreetingService聽greetingService聽=聽(GreetingService)聽context.getBean( "greetingService" );
//聽聽聽聽GreetingService聽greetingService聽=聽(GreetingService)聽factory.getBean("greetingService");
聽聽聽聽 greetingService.sayGreeting();
聽聽 }

}

榪樻湁閲嶈鐨勯厤緗枃浠跺涓?hello.xml

<?

xml version = "1.0" encoding = "UTF-8" ?>

<!

DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"

"http://www.springframework.org/dtd/spring-beans.dtd" >

<

beans >

< bean id = "greetingService"

class = "test.helloworld.GreetingServiceImpl" >

< property name = "greeting" >

< value > ice rain ! </ value >

</ property >

</ bean >

</

beans >

鍛靛懙灝辮繖涔堢畝鍗?瀹炵幇浜?greeting 灞炴х殑 Ioc.

榪欐槸Spring 涓ゅぇ鍩烘湰鏀煴鍏朵竴鐨勫伐浣滃師鐞? 鍏充簬AoP鐨勫唴瀹?鍦ㄨ繖閲屼笉浣滆璁?鍥犱負鐜板湪鎴戜嬌鐢ˋoP鐨勫湴鏂逛笉鏄緢澶?綆鍗曠殑搴旂敤鏄緢綆鍗曠殑鍟?^_^.

涓嬮潰涓綃囨垜浠潵鐪嬬湅 鍦╯pring鍖呰涓嬬殑jdbc璁塊棶. 璇︾粏鎯呭喌涔熷彲浠?b>鍙傝冭繖閲?/a>



鍐伴洦 2006-05-22 14:13 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 黄a大片av永久免费| 亚洲jjzzjjzz在线观看| 免费看美女被靠到爽| 久久青草免费91观看| 国产成人亚洲精品91专区高清| 91亚洲精品视频| 成人亚洲性情网站WWW在线观看| 妞干网免费视频观看| 一级特黄aa毛片免费观看| 一本到卡二卡三卡免费高| 亚洲av最新在线观看网址| 亚洲啪啪免费视频| 亚洲日本一区二区| 亚洲中文字幕无码日韩| 无码不卡亚洲成?人片| 毛片基地免费观看| 国产精品永久免费10000| 久久精品国产免费一区| 一个人看的hd免费视频| 看亚洲a级一级毛片| 亚洲综合精品伊人久久| 亚洲av无码专区在线| 亚洲男人电影天堂| 日产亚洲一区二区三区| 亚洲国产成人久久综合一| 亚洲一区二区三区在线观看精品中文| 亚洲爆乳少妇无码激情| 亚洲人成黄网在线观看| 亚洲视频精品在线观看| 亚洲自偷自拍另类12p| www亚洲精品久久久乳| 亚洲人和日本人jizz| 亚洲精品福利网泷泽萝拉| 亚洲av成人无码久久精品| 亚洲国产精品VA在线观看麻豆| 亚洲一区二区高清| 久久国产成人精品国产成人亚洲| 亚洲精品A在线观看| 亚洲一区二区三区在线播放| 国产亚洲精久久久久久无码77777 国产亚洲精品成人AA片新蒲金 | 2020亚洲男人天堂精品|