锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲Av无码精品色午夜,亚洲国产精品久久久久网站,亚洲日韩乱码久久久久久http://m.tkk7.com/improviser/category/26126.html鎬濈淮鏄竴縐嶈壓鏈紝鑹烘湳闇瑕佺伒鎰?/description>zh-cnMon, 05 Nov 2007 04:13:20 GMTMon, 05 Nov 2007 04:13:20 GMT60- 鍋墮亣Spring MVChttp://m.tkk7.com/improviser/archive/2007/11/04/158025.htmlimproviserimproviserSun, 04 Nov 2007 02:44:00 GMThttp://m.tkk7.com/improviser/archive/2007/11/04/158025.htmlhttp://m.tkk7.com/improviser/comments/158025.htmlhttp://m.tkk7.com/improviser/archive/2007/11/04/158025.html#Feedback5http://m.tkk7.com/improviser/comments/commentRss/158025.htmlhttp://m.tkk7.com/improviser/services/trackbacks/158025.html聽聽聽 涓漢璁や負(fù)Spring鍏舵牳蹇冩槸鍏禝OC鍜孉OP鏂歸潰錛屽鍏禨pirngMVC妗嗘灦騫朵笉鍏蟲敞錛屾垜鐪嬪ソ鐨勬槸JSF錛岀畝鍗曟槗鎳傘備絾鏈榪戠敱浜庡伐浣滀笂闇瑕侊紝鎵浠ユ湁闇瑕佸SpringMVC鍋氫釜浜嗚В瀛︿範(fàn)錛屽洜姝わ紝鏈瀵筍pirngMVC鐨勭浉閬囩函灞炲伓閬?...
聽聽聽 SpingMVC鐨勬灦鏋勫叾瀹炰篃寰堢畝鍗曪紝瀹冮氳繃涓涓叡閫氱殑鍏ラ棬DispatcherServlet鏉ユ帴鏀舵墍鏈夌殑request錛屾帴涓嬫潵鏍規(guī)嵁request瑕佹眰鐨勯〉闈㈤氳繃handler杞佺粰C(jī)ontroller澶勭悊錛屽鐞嗙粨鏋滆繑鍥濾iew緇欑敤鎴鳳紝鍥犳瀵筍pringMVC鏉ヨ錛屽叾鏍稿績涓篋ispatcherServlet銆?br />聽聽聽 DispatcherServlet浣滀負(fù)涓鎵囬棬錛屾垜浠浣跨敤榪欎釜闂紝棣栧厛寰楀畨瑁呬笂榪欎釜闂紝瀹夎鍦ㄥ摢鍛紵娌¢敊錛屽氨瀹夎鍦╳eb.xml榪欎釜澶у眿瀛愶紝璞″叾浠杝ervlet涓鏍鳳紝鎻忚堪servlet鐨勫悕瀛楀拰綾伙紝鍐嶇粰浠栦竴涓猰apping鎻忚堪瀵瑰簲鏄犲皠鐨勭綉欏點(diǎn)傚湪涓嬩緥涓紝鎴戜滑緇橠ispatcherServlet鐨勮搗鍚嶄負(fù)SpringMVCDemo錛?/font>騫惰container鐭ラ亾鎵鏈?do緇撳熬鐨剅equest閮戒笩緇檇ispatcher銆?/span>
聽聽聽聽
<
servlet
>
聽聽聽聽聽聽聽聽
<
servlet-name
>
SpringMVCDemo
</
servlet-name
>
聽聽聽聽聽聽聽聽
<
servlet-class
>
聽聽聽聽聽聽聽聽聽聽聽聽org.springframework.web.servlet.DispatcherServlet
聽聽聽聽聽聽聽聽
</
servlet-class
>
聽聽聽聽聽聽聽聽
<
load-on-startup
>
1
</
load-on-startup
>
聽聽聽聽
</
servlet
>
聽聽聽聽
<
servlet-mapping
>
聽聽聽聽聽聽聽聽
<
servlet-name
>
SpringMVCDemo
</
servlet-name
>
聽聽聽聽聽聽聽聽
<
url-pattern
>
*.do
</
url-pattern
>
聽聽聽聽
</
servlet-mapping
>
聽聽聽 闂ㄥ畨瑁呭ソ浜嗕箣鍚庯紝鎴戜滑闇瑕佸畾涔夐棬鑳芥墦寮鐨勮寖鍥達(dá)紝鍦ㄥ摢瀹氫箟鍛紵灝卞湪闂ㄧ殑涓婇潰璐翠笂涓寮犫滃叆闂ㄦ寚瀵尖濓紝浠嬬粛浠庡摢鏂歸潰(hello.do)榪涢棬闇瑕佷嬌鐢ㄤ綍縐嶄氦閫氭柟寮?springmvcController)榪涘幓錛屽茍瀹氫箟璇ヤ氦閫氭柟寮忋?/font>
聽聽聽聽
<
bean聽
id
="urlMapping"
聽聽聽聽聽聽聽聽class
="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"
>
聽聽聽聽聽聽聽聽
<
property聽
name
="mappings"
>
聽聽聽聽聽聽聽聽聽聽聽聽
<
props
>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
<
prop聽
key
="/hello.do"
>
springmvcController
</
prop
>
聽聽聽聽聽聽聽聽聽聽聽聽
</
props
>
聽聽聽聽聽聽聽聽
</
property
>
聽聽聽聽
</
bean
>
聽聽聽聽
<!--
聽SpringmvcController聽
-->
聽聽聽聽
<
bean聽
id
="springmvcController"
聽聽聽聽聽聽聽聽class
="org.improviser.webapp.controller.SpringmvcController"
>
聽聽聽聽
</
bean
>
聽聽聽 鎺ヤ笅鏉ヨ娓叉煋涓涓嬮〉闈簡錛屼笅闈負(fù)娓叉煋鎵鏈変互
WEB-INF/pages/
寮澶?/font>錛?font color="#0000ff">騫朵互.jsp緇撳熬鐨勯〉闈€?/font>
聽聽聽聽
<!--
聽ViewSolver聽
-->
聽聽聽聽
<
bean聽
id
="viewResolver"
聽聽聽聽聽聽聽聽class
="org.springframework.web.servlet.view.InternalResourceViewResolver"
>
聽聽聽聽聽聽聽聽
<
property聽
name
="viewClass"
>
聽聽聽聽聽聽聽聽聽聽聽聽
<
value
>
org.springframework.web.servlet.view.JstlView
</
value
>
聽聽聽聽聽聽聽聽
</
property
>
聽聽聽聽聽聽聽聽
<
property聽
name
="prefix"
>
聽聽聽聽聽聽聽聽聽聽聽聽
<
value
>
/WEB-INF/pages/
</
value
>
聽聽聽聽聽聽聽聽
</
property
>
聽聽聽聽聽聽聽聽
<
property聽
name
="suffix"
>
聽聽聽聽聽聽聽聽聽聽聽聽
<
value
>
.jsp
</
value
>
聽聽聽聽聽聽聽聽
</
property
>
聽聽聽聽
</
bean
>
聽聽聽涓婇潰鎻愬埌鐨凷pringmvcController錛?/font>鐜板湪璇ヤ綔涓畾涔変簡錛岃綾婚渶瑕佸疄鐜癈ontroller鎺ュ彛銆?/font>
public聽class聽SpringmvcController聽implements聽Controller聽{
聽聽聽聽/**聽Logger聽for聽this聽class聽and聽subclasses聽*/
聽聽聽聽protected聽final聽Log聽logger聽=聽LogFactory.getLog(getClass());
聽聽聽聽public聽ModelAndView聽handleRequest(HttpServletRequest聽request,
聽聽聽聽聽聽聽聽聽聽聽聽HttpServletResponse聽response)聽throws聽ServletException,聽IOException聽{
聽聽聽聽聽聽聽聽Map聽model聽=聽new聽HashMap();
聽聽聽聽聽聽聽聽String str =聽"鍗沖叴璇椾漢";
聽聽聽聽聽聽聽聽logger.info("returning聽hello聽view聽with聽"聽+聽currTime);
聽聽聽聽聽聽聽聽model.put("coldice", str);
聽聽聽聽聽聽聽聽return聽new聽ModelAndView("hello",聽"message",聽model);
聽聽聽聽}
聽聽聽緙栧啓jsp嫻嬭瘯欏甸潰銆?/font>
<html>
聽聽聽聽<head>
聽聽聽聽聽聽聽聽<title>Spring聽Application</title>
聽聽聽聽</head>
聽聽聽聽<body>
聽聽聽聽聽聽聽聽<h1>
聽聽聽聽聽聽聽聽聽聽聽聽<br聽/>
聽聽聽聽聽聽聽聽聽聽聽聽Hello
聽聽聽 聽聽聽 聽聽聽 <c:out聽value="${message.coldice}"聽/></br>
聽聽聽 聽聽聽 聽聽聽 Spring聽MVC 嫻嬭瘯鎴愬姛錛?br />聽聽聽聽聽聽聽聽</h1>
聽聽聽聽</body>
</html>
聽聽聽 鐜板湪瀵逛互涓婂唴瀹逛綔涓葷粨錛屾濡備笂闈㈡墍鍙欒堪錛孲pringMVC妗嗘灦鐨勫鐞嗚繃紼嬫満鍒跺涓嬪浘鎵紺猴紝鎺ユ敹璇鋒眰欏甸潰錛岄氳繃DispatcherServlet鏄犲皠鍒扮浉搴旇鍒欏鐞嗭紝騫舵壘鍒扮浉搴旂殑鎺у埗鍣紝緇撴灉鎺у埗鍣ㄥ鐞嗗悗榪斿洖鐩稿簲鐨勯〉闈㈡渶鍚庤繑鍥炵粰鐢ㄦ埛銆?/font>


]]> - Spring絎旇涔嬪崄錛圫pring鐮旇鎬葷粨錛?/title>http://m.tkk7.com/improviser/archive/2007/09/29/149474.htmlimproviserimproviserSat, 29 Sep 2007 02:07:00 GMThttp://m.tkk7.com/improviser/archive/2007/09/29/149474.htmlhttp://m.tkk7.com/improviser/comments/149474.htmlhttp://m.tkk7.com/improviser/archive/2007/09/29/149474.html#Feedback1http://m.tkk7.com/improviser/comments/commentRss/149474.htmlhttp://m.tkk7.com/improviser/services/trackbacks/149474.html聽 聽聽
閫氳繃榪欏嚑澶╁Spring鐨勭爺璇伙紝鍓栨瀽浜哠pring鐨勫熀鏈牳蹇冩ā鍧椻斺擨oC鍜孉OP銆備粖澶╁皢瀵瑰叾浣滀釜鍩虹鎬х殑鎬葷粨銆?br />
聽聽聽聽 Spring 鏄竴涓紑婧愭鏋訛紝鏄負(fù)浜嗚В鍐充紒涓氬簲鐢ㄧ▼搴忓紑鍙戝鏉傛ц屽垱寤虹殑銆傛鏋剁殑涓昏浼樺娍涔嬩竴灝辨槸鍏跺垎灞傛灦鏋勶紝鍒嗗眰鏋舵瀯鍏佽鎮(zhèn)ㄩ夋嫨浣跨敤鍝竴涓粍浠訛紝妯″潡鏋勫緩鍦ㄦ牳蹇冨鍣ㄤ箣涓婏紝鏍稿績瀹瑰櫒瀹氫箟浜嗗垱寤恒侀厤緗拰綆$悊 bean 鐨勬柟寮?鍚屾椂涓?J2EE 搴旂敤紼嬪簭寮鍙戞彁渚涢泦鎴愮殑妗嗘灦銆傚叾涓綔涓篠pring鐨勬牳蹇冩ā鍧楀嵆鏄疭pring闈㈠悜鏂歸潰緙栫▼(AOP)鍜屾帶鍒跺弽杞?IOC)瀹瑰櫒銆係pring 璁捐鐨勬牳蹇冩槸 org.springframework.beans
鍖咃紝BeanFactory
BeanFactory
鏀寔涓や釜瀵硅薄妯″瀷鍗曟佸拰鍘熷瀷銆?code>BeanFactory鏄疭pring浣滀負(fù)IOC 瀹瑰櫒鐨勫熀紜銆?br />
聽 聽 鎺у埗鍙嶈漿妯″紡錛氫笉鍒涘緩瀵硅薄錛屼絾鏄弿榪板垱寤哄畠浠殑鏂瑰紡銆傚湪浠g爜涓笉鐩存帴涓庡璞″拰鏈嶅姟榪炴帴錛屼絾鍦ㄩ厤緗枃浠朵腑鎻忚堪鍝竴涓粍浠墮渶瑕佸摢涓欏規(guī)湇鍔°傚鍣紙鍦?Spring 妗嗘灦涓槸 IOC 瀹瑰櫒錛夎礋璐e皢榪欎簺鑱旂郴鍦ㄤ竴璧楓傚湪鍏稿瀷鐨?IOC 鍦烘櫙涓紝瀹瑰櫒鍒涘緩浜嗘墍鏈夊璞★紝騫惰緗繀瑕佺殑灞炴у皢瀹冧滑榪炴帴鍦ㄤ竴璧鳳紝鍐沖畾浠涔堟椂闂磋皟鐢ㄦ柟娉曘侷OC 鐨勪竴涓疄鐜版ā寮?閫氳繃鎺ュ彛銆侀氳繃 JavaBean 鐨勫睘鎬с佷緷璧栨т互鏋勯犲嚱鏁扮殑褰㈠紡鎻愪緵銆?br />
聽聽聽 闈㈠悜鏂歸潰鐨勭紪紼嬶紝鍗?AOP錛屾槸涓縐嶇紪紼嬫妧鏈紝瀹冨厑璁哥▼搴忓憳瀵規(guī)í鍒囧叧娉ㄧ偣鎴栨í鍒囧吀鍨嬬殑鑱岃矗鍒嗙晫綰跨殑琛屼負(fù)錛堜緥濡傛棩蹇楀拰浜嬪姟綆$悊錛夎繘琛屾ā鍧楀寲銆侫OP 鐨勬牳蹇冩瀯閫犳槸鏂歸潰錛屽畠?yōu)畣閭d簺濯?jiǎng)鍝嶅涓被鐨勮涓哄皝瑁呭埌鍙噸鐢ㄧ殑妯″潡涓侫OP 鍜?IOC 鏄ˉ鍏呮х殑鎶鏈紝瀹冧滑閮借繍鐢ㄦā鍧楀寲鏂瑰紡瑙e喅浼佷笟搴旂敤紼嬪簭寮鍙戜腑鐨勫鏉傞棶棰樸傚湪鍏稿瀷鐨勯潰鍚戝璞″紑鍙戞柟寮忎腑錛屽彲鑳借灝嗘棩蹇楄褰曡鍙ユ斁鍦ㄦ墍鏈夋柟娉曞拰 Java 綾諱腑鎵嶈兘瀹炵幇鏃ュ織鍔熻兘銆傚湪 AOP 鏂瑰紡涓紝鍙互鍙嶈繃鏉ュ皢鏃ュ織鏈嶅姟妯″潡鍖栵紝騫朵互澹版槑鐨勬柟寮忓皢瀹冧滑搴旂敤鍒伴渶瑕佹棩蹇楃殑緇勪歡涓娿傚綋鐒?dòng)灱屼紭鍔繛鏄?Java 綾諱笉闇瑕佺煡閬撴棩蹇楁湇鍔$殑瀛樺湪錛屼篃涓嶉渶瑕佽冭檻鐩稿叧鐨勪唬鐮併傛墍浠ワ紝鐢?Spring AOP 緙栧啓鐨勫簲鐢ㄧ▼搴忎唬鐮佹槸鏉炬暎鑰﹀悎鐨勩侫OP 鐨勫姛鑳藉畬鍏ㄩ泦鎴愬埌浜?Spring 浜嬪姟綆$悊銆佹棩蹇楀拰鍏朵粬鍚勭鐗規(guī)х殑涓婁笅鏂囦腑銆?/font>

]]> - Spring絎旇涔嬩節(jié)錛圓OP in Spring錛?/title>http://m.tkk7.com/improviser/archive/2007/09/29/149406.htmlimproviserimproviserFri, 28 Sep 2007 17:50:00 GMThttp://m.tkk7.com/improviser/archive/2007/09/29/149406.htmlhttp://m.tkk7.com/improviser/comments/149406.htmlhttp://m.tkk7.com/improviser/archive/2007/09/29/149406.html#Feedback1http://m.tkk7.com/improviser/comments/commentRss/149406.htmlhttp://m.tkk7.com/improviser/services/trackbacks/149406.htmlSpring IoC鍜?Spring
AOP緇勫悎錛屼竴璧峰艦鎴愪簡Spring錛岃繖鏍蜂竴涓湁鏈烘暣浣擄紝浣垮緱鏋勫緩杞婚噺綰х殑J2EE鏋舵瀯鎴愪負(fù)鍙兘錛岃屼笖浜嬪疄璇佹槑錛岄潪甯告湁鏁堛傛病鏈塖pring
IoC鐨凷pring AOP鏄笉瀹屽杽鐨勶紝娌℃湁Spring AOP鐨凷pring IoC鏄笉鍋ュ.鐨勩?鏈枃鐮旂┒Spring妗嗘灦涓殑闈㈠悜鏂歸潰緙?Aspect-Oriented Programming錛孉OP)錛岃繘鑰岄氳繃渚嬪瓙瑙f瀽濡備綍榪愮敤Spring涓殑鎵鏈夐氱煡綾誨瀷鍜屽垏鍏ョ偣鏉ュ疄鐜版洿瀹炵敤鐨勬柟闈㈠拰闈㈠悜鏂歸潰璁捐妯″紡銆?/font>
聽聽聽 AOP姒傚康錛?/font>
聽聽聽 Advice錛?/b>濡備綍灝哹efore閫氱煡銆乤fterReturning閫氱煡鍜宎fterThrowing閫氱煡澹版槑涓篵ean銆?/font>
銆Pointcut錛?/b>濡備綍澹版槑闈欐佸垏鍏ョ偣閫昏緫浠ュ皢XML Spring Bean Configuration鏂囦歡涓殑鎵鏈夊唴瀹硅仈緋誨湪涓璧楓?
銆Advisor錛?/b>鍏寵仈鍒囧叆鐐瑰畾涔変笌閫氱煡bean鐨勬柟寮忋?/font>
聽聽聽 Spring AOP鏄嬌鐢ㄤ唬鐞嗘潵瀹屾垚鐨勶紝Spring 涓ょ鏂瑰紡錛?span lang="EN-US">JDK鍔ㄦ佷唬鐞嗭紝闇瑕佽瀹氫竴緇勪唬鐞嗘帴鍙o紱CGLIB 浠g悊錛屽彲浠g悊鎺ュ彛鍜岀被銆?span lang="EN-US">Spring鎻愪緵浜?縐岮dvice綾誨瀷錛欼nterception Around銆丅efore銆丄fter
Returning銆乀hrow鍜孖ntroduction銆傚畠浠垎鍒湪浠ヤ笅鎯呭喌涓嬭璋冪敤錛氬湪JointPoint鍓嶅悗銆丣ointPoint鍓嶃?
JointPoint鍚庛丣ointPoint鎶涘嚭寮傚父鏃躲丣ointPoint璋冪敤瀹屾瘯鍚庛?br />
閰嶇疆鏂囦歡錛?/b>
聽1聽<beans>
聽2聽聽聽聽聽<bean聽id="myAOPProxy"
聽聽聽聽聽聽聽聽聽聽聽聽 class="org.springframework.aop.framework.ProxyFactoryBean">
聽3聽聽聽聽聽聽聽聽聽<property聽name="proxyInterfaces">
聽4聽聽聽聽聽聽聽聽聽聽聽聽聽<value>ITest</value>
聽5聽聽聽聽聽聽聽聽聽</property>
聽6聽聽聽聽聽聽聽聽聽<property聽name="target">
聽7聽聽聽聽聽聽聽聽聽聽聽聽聽<ref聽local聽=聽"test"/>
聽8聽聽聽聽聽聽聽聽聽</property>
聽9聽聽聽聽聽聽聽聽聽<property聽name="interceptorNames">
10聽聽聽聽聽聽聽聽聽聽聽聽聽<value>myPotincutAdvisor</value>
11聽聽聽聽聽聽聽聽聽</property>
12聽聽聽聽聽</bean>
13聽聽聽聽聽
14聽聽聽聽聽<bean聽id="test"聽class="Test"/>
15聽聽聽聽聽
16聽聽聽聽聽<bean聽id="MyInterceptor"聽class="MethodTimeCostInterceptor"/>
17聽聽聽聽聽
18聽聽聽聽聽<bean聽id="myPotincutAdvisor"
聽聽聽聽聽聽聽聽聽聽聽聽 class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
19聽聽聽聽聽聽聽聽聽<property聽name="advice">
20聽聽聽聽聽聽聽聽聽聽聽聽聽<ref聽local="MyInterceptor"/>
21聽聽聽聽聽聽聽聽聽</property>
22聽聽聽聽聽聽聽聽聽<property聽name="patterns">
23聽聽聽聽聽聽聽聽聽聽聽聽聽<list>
24聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<value>.*</value>
25聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<value>.*</value>
26聽聽聽聽聽聽聽聽聽聽聽聽聽</list>
27聽聽聽聽聽聽聽聽聽</property>
28聽聽聽聽聽</bean>
29聽</beans>
鍒嗘瀽浠g爜錛?/font>
1銆?span style="color: rgb(0, 0, 0);"><bean聽id="myAOPProxy"
聽聽聽聽 class="org.springframework.aop.framework.ProxyFactoryBean">澹版槑娉ㄥ叆浜嗕唬鐞嗗疄渚媘yAOPProxy銆?聽聽聽聽聽聽
2銆?proxyInterfaces澹版槑灝嗚浠g悊鎺ュ彛ITest銆?/span>
3銆?target澹版槑琚唬鐞嗙洰鐨勭被銆?br />4銆?interceptorNames璁劇疆鎷︽埅鍣ㄤ負(fù)myPotincutAdvisor銆?br />5銆?patterns涓烘嫤鎴櫒璁劇疆閰嶅尮鏂瑰紡錛屽嵆鍦ㄦ墍琚厤鍖規(guī)垚鍔熺殑鏂規(guī)硶琚皟鐢ㄦ椂鎵ц鎷︽埅鍣ㄥ唴瀹廣?/font>
聽聽聽 璇ラ厤緗枃浠訛紝鎸囧畾瑕佸姞杞戒竴涓帴鍙d笌ITest鐩稿尮閰嶇殑bean銆傝bean闅忓悗琚叧鑱斿埌Test瀹炵幇綾匯傜湅璧鋒潵濂藉儚鏄垂浜嗗緢澶у姏姘斿彧涓轟簡鍔犺澆涓涓畝鍗曠殑bean騫惰皟鐢ㄤ竴涓柟娉曪紝浣嗘槸榪欎釜閰嶇疆鏂囦歡鍙槸浣?
Spring妗嗘灦鍙互閫忔槑鍦板搴旂敤紼嬪簭搴旂敤鍏剁粍浠剁殑浼楀鐗規(guī)х殑涓涓綋鐜?/font>銆?/font>

]]> - Spring絎旇涔嬪叓錛圛nternationalization of spring錛?/title>http://m.tkk7.com/improviser/archive/2007/09/27/148476.htmlimproviserimproviserWed, 26 Sep 2007 17:00:00 GMThttp://m.tkk7.com/improviser/archive/2007/09/27/148476.htmlhttp://m.tkk7.com/improviser/comments/148476.htmlhttp://m.tkk7.com/improviser/archive/2007/09/27/148476.html#Feedback1http://m.tkk7.com/improviser/comments/commentRss/148476.htmlhttp://m.tkk7.com/improviser/services/trackbacks/148476.html
聽聽聽 鍥介檯鍖栨敮鎸佸湪瀹為檯寮鍙戜腑鍙兘鏄渶甯哥敤鐨勭壒鎬э紝鏈枃鍒嗘瀽Spring鐨?/font>
ApplicationContext
鎻愪緵鍥介檯鍖栨敮鎸侊紝
鍏舵彁渚涗簡鏇村姞寮哄ぇ鐨勫姛鑳斤紝濡備俊鎭殑鑷姩瑁呴厤浠ュ強(qiáng)鐑儴緗插姛鑳斤紙閰嶇疆鏂囦歡淇敼鍚庤嚜鍔ㄨ鍙栵紝鑰屾棤闇閲嶆柊鍚姩搴旂敤紼嬪簭錛夈?span lang="EN-US">
聽聽聽 鐩墠Spring涓彁渚涗簡涓や釜 MessageSource鎺ュ彛鐨勫疄鐜幫紝鍗?span lang="EN-US">ResourceBundleMessageSource鍜?span lang="EN-US">ReloadableResourceBundleMessageSource錛屽悗鑰呮彁渚涗簡鏃犻渶閲嶅惎鍗沖彲閲嶆柊鍔犺澆閰嶇疆淇℃伅鐨勭壒鎬с?/font>
聽聽聽
聽聽聽 鍦ㄤ笅闈㈢殑閰嶇疆鏂囦歡涓紝閫氳繃MessageResource鐨勪竴涓疄鐜扮被org.springframework.context.support.ResourceBundleMessageSource鏉ヨ幏寰楀浗闄呭寲鐨勪俊鎭?/font>
聽1聽<beans>
聽2聽<description>Spring聽Quick聽Start</description>
聽3聽<bean聽id="messageSource"
聽聽聽聽 class="org.springframework.context.support.ResourceBundleMessageSource">
聽4聽<property聽name="basenames">
聽5聽<list>
聽6聽<value>messages</value>
聽7聽</list>
聽8聽</property>
聽9聽</bean>
10聽</beans>
11聽
榪欓噷澹版槑浜嗕竴涓悕涓?/span>
messageSource
鐨?span lang="EN-US">Bean錛?/span>
娉ㄦ剰錛?/span>
瀵逛簬Message瀹氫箟錛?span lang="EN-US">Bean ID蹇呴』涓?span lang="EN-US">messageSource錛岃繖鏄洰鍓?span lang="EN-US">Spring鐨勭紪鐮佽綰︼級錛屽搴旂被涓?span lang="EN-US">ResourceBundleMessageSource銆?/font>
鑰屽叾涓殑basename灞炴х敤渚嗚瀹氳祫婧愪俊鎭枃浠剁殑鍓嶇疆鏂囦歡鍚嶇О錛屽湪鏈緥涓負(fù)messages銆?span lang="EN-US">Spring浼?xì)鑷姩鍦?span lang="EN-US">CLASSPATH鏍硅礬寰勪腑鎸夌収濡備笅欏哄簭鎼滃璧勬簮淇℃伅鏂囦歡騫惰繘琛屽姞杞斤紙浠?span lang="EN-US">Locale涓?span lang="EN-US">zh_CN涓轟緥錛屽叾瀹?span lang="EN-US">Spring鍦ㄥ疄闄呬笂璋冪敤浜?span lang="EN-US">JDK鐨?span lang="EN-US">ResourceBundle璇誨彇閰嶇疆鏂囦歡錛?/font>
:
messages_zh_CN.properties
messages_zh.properties
messages.properties
messages_zh_CN.class
messages_zh.class
messages.class
璧勬簮閰嶇疆淇℃伅鏂囦歡涓殑鍐呭
1聽messages_zh_CN.properties錛?br />2聽userinfo=褰撳墠鐧誨綍鐢ㄦ埛:聽[{0}]聽鐧誨綍鏃墮棿:[{1}]
3聽messages_en_US.properties錛?br />4聽userinfo=Current聽Login聽user:聽[{0}]聽Login聽time:[{1}]
5聽
聽聽嫻嬭瘯浠g爜錛?/font>
1聽ApplicationContext聽ctx =
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 new聽FileSystemXmlApplicationContext("bean.xml");
2聽Object[]聽arg聽=聽new聽Object[]
3聽{聽"Erica",聽Calendar.getInstance().getTime()
4聽};
5聽//浠ョ郴緇熼粯璁ocale鍔犺澆淇℃伅(瀵逛簬涓枃WinXP鑰岃█錛岄粯璁や負(fù)zh_CN)
6聽String聽msg聽=聽ctx.getMessage("userinfo",聽arg);
7聽System.out.println("Message聽is聽===>聽"+msg);
8聽
浠g爜涓紝鎴戜滑灝嗕竴涓?span lang="EN-US">Object鏁扮粍arg浣滀負(fù)鍙傛暟浼犻掔粰ApplicationContext.getMessage鏂規(guī)硶錛岃繖涓弬鏁頒腑鍖呭惈浜嗗嚭鐜板湪鏈緇堟枃瀛椾俊鎭腑鐨勫彲鍙樺唴瀹癸紝ApplicationContext聽 灝嗘牴鎹弬鏁頒腑鐨?span lang="EN-US">Locale淇℃伅瀵瑰叾榪涜澶勭悊錛堝閽堝涓嶅悓聽聽 Locale璁懼畾鏃ユ湡杈撳嚭鏍煎紡錛夛紝騫剁敤鍏舵浛鎹㈤厤緗枃浠朵腑鐨?span lang="EN-US">{n}鏍囪瘑錛?span lang="EN-US">n浠h〃鍙傛暟鏁扮粍涓殑绱㈠紩錛屼粠1聽 寮濮嬶級銆?span lang="EN-US">
榪愯涓婇潰鐨勪唬鐮侊紝寰楀埌浠ヤ笅杈撳嚭鐨勫唴瀹癸細(xì)
聽聽 Message
is ===> |矛銆兟?span lang="EN-US">?擄|矛???簍???銆?span lang="EN-US">: [Erica] |矛???簍o銆兟?span lang="EN-US">??:[07-9-27 涓婂崍1:27]
閽堝ResourceBundle鐨勭紪鐮佽繃紼嬩腑鍙戠敓鐨勯棶棰樸傝繖鏄敱浜庤漿鐮佽繃紼嬩腑浜х敓鐨勭紪鐮侀棶棰樺紩鍙戠殑銆傛瘮杈冪畝鍗曠殑瑙e喅鍔炴硶鏄氳繃JDK鎻愪緵鐨勮漿鐮佸伐鍏?span lang="EN-US">native2ascii.exe聽 榪涜杞崲銆傛墽琛岋細(xì)native2ascii
messages_zh_CN.properties msg.txt銆?o:p>鍐嶇敤msg.txt鏂囦歡鏇挎崲Messages_zh_CN.properties聽聽聽聽聽聽 鏂囦歡銆?/font>
聽聽 鍐嶆榪愯紺轟緥浠g爜錛屽緱鍒版紜緭鍑猴細(xì)聽聽 Message is ===> 褰撳墠鐧誨綍鐢ㄦ埛: [Erica] 鐧誨綍鏃墮棿:[07-9-27 涓婂崍1:30]
灝濊瘯鍦ㄤ唬鐮佷腑鎸囧畾涓嶅悓鐨?span lang="EN-US">Locale鍙傛暟錛?span lang="EN-US">
String
msg = ctx.getMessage("userinfo", arg, Locale.US);鍐嶆榪愯錛屽彲浠ョ湅鍒幫細(xì)
Message
is ===> Current Login user: [Erica] Login time::[9/27/07 1:35AM]
鍙錛屽墠鑰呮牴鎹綋鍓嶉粯璁?span lang="EN-US">Locale"zh_CN"錛?span lang="EN-US">getMessage鏂規(guī)硶鑷姩鍔犺澆浜?span lang="EN-US">messages_zh_CN.properties鏂囦歡錛涘悗鑰?/span>getMessage鏂規(guī)硶鏍規(guī)嵁鎸囧畾緙栫爜"en_US"鍔犺澆浜?span lang="EN-US">messages_en_US.properties鏂囦歡銆?/span>

]]> - Spring絎旇涔嬩竷錛圱ypes of Injection錛?/title>http://m.tkk7.com/improviser/archive/2007/09/26/148472.htmlimproviserimproviserWed, 26 Sep 2007 15:59:00 GMThttp://m.tkk7.com/improviser/archive/2007/09/26/148472.htmlhttp://m.tkk7.com/improviser/comments/148472.htmlhttp://m.tkk7.com/improviser/archive/2007/09/26/148472.html#Feedback0http://m.tkk7.com/improviser/comments/commentRss/148472.htmlhttp://m.tkk7.com/improviser/services/trackbacks/148472.html
鏈枃鐮旂┒Spring鐨勪笁縐嶄緷璧栨敞鍏ュ疄鐜扮被鍨?/b>鈥斺?b style="">鎺ュ彛娉ㄥ叆錛?span lang="EN-US">Interface Injection錛夈?/span>璁懼兼敞鍏ワ紙Setter Injection錛夈?/span>鏋勯犲瓙娉ㄥ叆錛?span lang="EN-US">Constructor Injection錛夈?/span>
Type1
鎺ュ彛娉ㄥ叆錛?/span>
浼犵粺鐨勫垱寤烘帴鍙e璞$殑鏂規(guī)硶錛?/span>
鍊熷姪鎺ュ彛鏉ュ皢璋冪敤鑰呬笌瀹炵幇鑰呭垎紱匯傚涓嬮潰鐨勪唬鐮佹墍紺猴細(xì)
聽1聽public聽class聽ClassA聽
聽2聽{
聽3聽private聽InterfaceB聽clzB;
聽4聽public聽doSomething()聽
聽5聽{
聽6聽Ojbect聽obj聽=聽Class.forName(Config.BImplementation).newInstance();
聽7聽clzB聽=聽(InterfaceB)obj;
聽8聽clzB.doIt();
聽9聽}
10聽鈥︹?br />11聽}
12聽
鍦ㄤ唬鐮佷腑鍒涘緩InterfaceB瀹炵幇綾葷殑瀹炰緥錛屽茍灝嗚瀵硅薄璧嬩簣clzB銆備篃灝辨槸渚濇嵁Java涓殑瀵硅薄鍔ㄦ佸鎬佹妧鏈細(xì)InterfaceB
clzB=new InterfaceBImpleClass();涓轟簡灝嗚皟鐢ㄨ呬笌瀹炵幇鑰呭湪緙栬瘧鏈熷垎紱伙紝浜庢槸鏈変簡涓婇潰鐨勪唬鐮侊紝鎴戜滑鏍規(guī)嵁棰勫厛鍦ㄩ厤緗枃浠朵腑璁懼畾鐨勫疄鐜扮被鐨勭被鍚?span lang="EN-US">(Config.BImplementation)錛屽姩鎬?span lang="EN-US">鍔犺澆瀹炵幇綾伙紝騫墮氳繃InterfaceB寮哄埗杞瀷鍚庝負(fù) ClassA鎵鐢ㄣ?/span>
Type2
璁懼兼敞鍏ワ細(xì)
鍦ㄥ悇縐嶇被鍨嬬殑渚濊禆娉ㄥ叆妯″紡涓紝璁懼兼敞鍏ユā寮忓湪瀹為檯寮鍙戜腑寰楀埌浜嗘渶騫挎硾鐨勫簲鐢紙鍏朵腑寰堝ぇ涓閮ㄥ垎寰楀姏浜?span lang="EN-US">Spring妗嗘灦鐨?/span>
褰卞搷錛夈?span lang="EN-US">浣跨敤IoC鐨?span lang="EN-US">Setter娉ㄥ皠錛屼竴浜涘閮ㄥ厓鏁版嵁琚敤浜庤В鍐充緷璧栨ч棶棰樸傚茍涓斿湪Spring涓紝榪欑鍏冩暟鎹噰鍙栦簡綆鍗曠殑XML閰嶇疆鏂囦歡鐨勫艦寮忋?/font>
聽涓嬮潰涓烘煇涓被鐨勭ず渚嬩唬鐮?span lang="EN-US">
聽(鍏朵腑鍖呭惈鏈変竴涓?span lang="EN-US">message灞炴э紝璇ョ被閫氳繃鍏?span lang="EN-US">setMessage()鏂規(guī)硶鑾峰緱鍙沖鍣ㄦ墍鎻愪緵鐨勫箋?
聽1聽public聽class聽UpperAction聽聽implements聽Action
聽2聽{
聽3聽聽聽private聽String聽message;
聽4聽聽聽public聽String聽getMessage()聽
聽5聽聽聽{
聽6聽聽聽聽聽return聽message;
聽7聽聽聽}
聽8聽聽聽public聽void聽setMessage(String聽string)聽
聽9聽聽聽{
10聽聽聽聽聽message聽=聽string;
11聽聽聽}
12聽}
13聽
聽
鍏朵腑message
灞炴х殑鍊奸氳繃閰嶇疆鏂囦歡鏉ユ彁渚?
1聽<bean聽id="theUpperAction"聽聽class="springj2seapp.UpperAction">
2聽聽聽聽聽聽<property聽name="message">
3聽聽聽聽聽聽聽聽聽<value>HeLLo,UpperAction聽</value>
4聽聽聽聽聽</property>
5聽</bean>
6聽
Type3
鏋勯犲瓙娉ㄥ叆錛?/span>
鍦?span lang="EN-US">Type3綾誨瀷鐨勪緷璧栨敞鍏ユ満鍒朵腑錛屼緷璧栧叧緋繪槸閫氳繃綾繪瀯閫犲嚱鏁板緩绔嬶紝瀹瑰櫒閫氳繃璋冪敤綾葷殑鏋勯犳柟娉曪紝灝嗗叾鎵闇鐨勪緷璧栧叧緋繪敞鍏ュ叾涓?/font>
紺轟緥浠g爜錛?br />閰嶇疆鏂囦歡濡備笅
聽1聽<bean聽id="exampleBean"聽class="examples.ExampleBean">
聽2聽
聽3聽聽聽<constructor-arg>
聽4聽
聽5聽<ref聽bean="anotherExampleBean"/>
聽6聽</constructor-arg>
聽7聽聽聽<constructor-arg><ref聽bean="yetAnotherBean"/></constructor-arg>
聽8聽聽聽<constructor-arg聽type="int">
聽9聽<value>1</value>
10聽</constructor-arg>
11聽</bean>
12聽<bean聽id="anotherExampleBean"聽class="examples.AnotherBean"/>
13聽<bean聽id="yetAnotherBean"聽class="examples.YetAnotherBean"/>
14聽
ExampleBean浠g爜錛?/span>
聽1聽public聽class聽ExampleBean聽
聽2聽{
聽3聽聽聽聽聽private聽AnotherBean聽beanOne;
聽4聽聽聽聽聽private聽YetAnotherBean聽beanTwo;
聽5聽聽聽聽聽private聽int聽i;
聽6聽聽聽聽聽public聽ExampleBean(AnotherBean聽anotherBean,聽YetAnotherBean聽yetAnotherBean,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 int聽i)聽
聽7聽{
聽8聽聽聽聽聽聽聽聽聽this.beanOne聽=聽anotherBean;
聽9聽聽聽聽聽聽聽聽聽this.beanTwo聽=聽yetAnotherBean;
10聽聽聽聽聽聽聽聽聽this.i聽=聽i;
11聽聽聽聽聽}
12聽}
13聽
褰撴瀯閫犳柟娉曚腑甯﹀涓笉鍚岀殑鍩烘湰鏁版嵁綾誨瀷鐨勫弬鏁版椂錛屼負(fù)浜嗛伩鍏嶄駭鐢熶簩涔夋э紝鍙互閲囩敤type鎴栬?span lang="EN-US">index鏉ユ寚瀹氭瀯閫犳柟娉曠殑鍙傛暟鐨勭被鍨嬪拰欏哄簭銆?/font>
濡傦細(xì)
聽聽 type鏂規(guī)硶
1聽<constructor-arg聽type="int">
2聽<value>7500000</value>
3聽</constructor-arg>
4聽聽聽<constructor-arg聽type="java.lang.String">
5聽<value>42</value>
6聽</constructor-arg>
7聽
聽聽聽 index鏂規(guī)硶
1聽<bean聽id="exampleBean"聽class="examples.ExampleBean">
2聽聽聽<constructor-arg聽index="0">
3聽<value>7500000</value>
4聽</constructor-arg>
5聽聽聽<constructor-arg聽index="1">
6聽<value>42</value>
7聽</constructor-arg>
8聽</bean>
9聽
鎬葷粨錛?/b>
聽聽聽聽 type1鍦ㄧ伒媧繪с佹槗鐢ㄦт笂涓嶅鍏朵粬涓ょ娉ㄥ叆妯″紡錛?/font>
Type2
鍜?span lang="EN-US">Type3鍨嬬殑渚濊禆娉ㄥ叆瀹炵幇鍒欐槸鐩墠涓繪祦鐨?span lang="EN-US">IOC瀹炵幇妯″紡錛?/span>
Type3
鍜?span lang="EN-US">Type2妯″紡鍚勬湁鍗冪錛岃?span lang="EN-US">Spring閮藉Type3鍜?span lang="EN-US">Type2綾誨瀷鐨勪緷璧栨敞鍏ユ満鍒舵彁渚涗簡鑹ソ鏀寔銆?/span>
浠?span lang="EN-US">Type3綾誨瀷涓轟富錛岃緟涔嬩互Type2綾誨瀷鏈哄埗浣滀負(fù)琛ュ厖錛屽彲浠ヨ揪鍒版渶濂界殑渚濊禆娉ㄥ叆鏁堟灉錛屼笉榪囧浜庡熀浜?span lang="EN-US">Spring
Framework寮鍙戠殑搴旂敤鑰岃█錛?span lang="EN-US">Type2浣跨敤鏇村姞騫挎硾銆?span lang="EN-US">

]]>- Spring絎旇涔嬪叚錛圛oC Singleton錛?/title>http://m.tkk7.com/improviser/archive/2007/09/26/148298.htmlimproviserimproviserWed, 26 Sep 2007 05:22:00 GMThttp://m.tkk7.com/improviser/archive/2007/09/26/148298.htmlhttp://m.tkk7.com/improviser/comments/148298.htmlhttp://m.tkk7.com/improviser/archive/2007/09/26/148298.html#Feedback0http://m.tkk7.com/improviser/comments/commentRss/148298.htmlhttp://m.tkk7.com/improviser/services/trackbacks/148298.html聽聽聽Spring涓瑽eanFactory鏀寔涓や釜瀵硅薄妯″瀷
鍗曟侊細(xì)
妯″瀷鎻愪緵浜嗗叿鏈夌壒瀹氬悕縐扮殑瀵硅薄鐨勫叡浜疄渚嬶紝鍙互鍦ㄦ煡璇㈡椂瀵瑰叾榪涜媯(gè)绱€?span lang="EN-US">Singleton 鏄粯璁ょ殑涔熸槸鏈甯哥敤鐨勫璞℃ā鍨嬨傚浜庢棤鐘舵伮犅?鏈嶅姟瀵硅薄寰堢悊鎯熾?/font>
鍘熷瀷錛?/span>
妯″瀷紜繚姣忔媯(gè)绱㈤兘浼?xì)鍒涘缓鍗曠嫭鐨勫璞°傚湪姣忎釜鐢ㄦ埛閮介渶瑕佽嚜宸辯殑瀵硅薄鏃訛紝鍘熷瀷妯″瀷鏈閫傚悎銆?/span>
瀹炰緥錛?/font>
聽1聽聽<聽聽beans聽聽>
聽2聽聽聽聽聽聽聽
聽3聽聽聽聽聽聽聽<!--聽non-singleton聽examples聽-->
聽4聽聽聽聽聽聽<bean聽id="nonSingleton"聽class="java.lang.String"聽singleton="true">
聽5聽聽聽聽聽聽聽聽聽聽<constructor-arg>
聽6聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<value>Value</value>
聽7聽聽聽聽聽聽聽聽聽聽</constructor-arg>
聽8聽聽聽聽聽聽聽</bean>
聽9聽聽聽
10聽聽</beans>
11聽
12聽singleton錛氭寚瀹氭JavaBean鏄惁閲囩敤鍗曚緥錛圫ingleton錛夋ā寮忥紝濡傛灉璁句負(fù)"true"錛屽垯鍦˙eanFactory浣滅敤鑼冨洿鍐咃紝鍙淮鎶ゆJavaBean聽聽鐨勪竴涓疄渚嬶紝浠g爜閫氳繃BeanFactory聽聽聽鑾峰緱姝avaBean聽聽瀹炰緥鐨勫紩鐢ㄣ傚弽涔嬶紝濡傛灉璁句負(fù)"false"錛屽垯閫氳繃BeanFactory鑾峰彇姝ava聽Bean聽聽瀹炰緥鏃訛紝BeanFactory姣忔閮藉皢鍒涘緩涓涓柊鐨勫疄渚嬭繑鍥炪?/span>
聽聽聽
聽聽聽聽 1聽public聽class聽NonSingleton聽{
聽2聽
聽3聽public聽static聽void聽main(String[]聽args)聽{
聽4聽聽
聽5聽BeanFactory聽factory聽=聽new聽XmlBeanFactory(new聽FileSystemResource(
聽6聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽"build/beans.xml"));
聽7聽聽聽聽聽聽聽聽
聽8聽聽聽聽String聽s1聽=聽(String)factory.getBean("nonSingleton");
聽9聽聽聽聽String聽s2聽=聽(String)factory.getBean("nonSingleton");
10聽聽聽聽System.out.println("Identity聽Equal?:聽"聽+聽(s1聽==s2));
11聽聽聽聽System.out.println("Value聽Equal:?聽"聽+聽s1.equals(s2));
12聽聽聽聽System.out.println(s1);
13聽聽聽聽System.out.println(s2);
14聽聽}
15聽}
聽聽 鍒嗘瀽緇撴灉錛?/font>
聽聽 Identity Equal?: true
Value Equal:? true
Value
Value
聽聽 鐢辯粨鏋滃彲浠ョ湅鍑虹敱fantory浜х敓鐨刡ean瀵硅薄鍙湁涓涓?br />
聽 娉ㄦ剰錛?/span>
鍦?span lang="EN-US">Spring涓秷闄や簡鐢辯敤鎴瘋嚜宸辨潵瀹炵幇Singleton妯″紡鐨勫簲鐢紝Spring Bean鐨勭己鐪佽涓哄氨鏄?span lang="EN-US">Singleton錛屼笉蹇呭啀涓轟簡Singleton緙栫爜銆?/font>

]]> - Spring絎旇涔嬩簲錛圚ierarchical Bean Factory Usage錛?/title>http://m.tkk7.com/improviser/archive/2007/09/25/147934.htmlimproviserimproviserMon, 24 Sep 2007 16:05:00 GMThttp://m.tkk7.com/improviser/archive/2007/09/25/147934.htmlhttp://m.tkk7.com/improviser/comments/147934.htmlhttp://m.tkk7.com/improviser/archive/2007/09/25/147934.html#Feedback1http://m.tkk7.com/improviser/comments/commentRss/147934.htmlhttp://m.tkk7.com/improviser/services/trackbacks/147934.html
鏈枃鐮旂┒Spring鍒嗗眰Bean Factory鐢ㄦ硶錛屽厛鐪嬫湁鍏充唬鐮侊細(xì)
聽1 parent.xml
聽2聽
聽3聽<!DOCTYPE聽beans聽PUBLIC聽"-//SPRING//DTD聽BEAN//EN"
聽聽聽聽聽 "http://www.springframework.org/dtd/spring-beans.dtd">
聽4聽<beans>
聽5聽聽聽聽聽<bean聽id="injectBean"聽class="java.lang.String">
聽6聽聽聽聽聽聽聽聽聽聽聽聽<constructor-arg>
聽7聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<value>Bean聽In聽Parent</value>
聽8聽聽聽聽聽聽聽聽聽聽聽聽</constructor-arg>
聽9聽聽聽聽聽</bean>
10聽聽聽聽聽<bean聽id="injectBeanParent"聽class="java.lang.String">
11聽聽聽聽聽聽聽聽聽聽聽聽<constructor-arg>
12聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<value>Bean聽In聽Parent</value>
13聽聽聽聽聽聽聽聽聽聽聽聽</constructor-arg>
14聽聽聽聽聽</bean>
15聽</beans>聽
聽1聽beans.xml
聽2聽
聽3聽<!DOCTYPE聽beans聽PUBLIC聽"-//SPRING//DTD聽BEAN//EN"
聽聽聽 "http://www.springframework.org/dtd/spring-beans.dtd">
聽4聽<beans>
聽5聽聽聽聽聽<!--聽hierarchical聽bean聽factories聽-->
聽6聽聽聽聽聽<bean聽id="target1"聽class="SimpleTarget">
聽7聽聽聽聽聽聽聽聽聽<property聽name="val">
聽8聽聽聽聽聽聽聽聽聽聽聽聽聽<ref聽bean="injectBeanParent"/>
聽9聽聽聽聽聽聽聽聽聽</property>
10聽聽聽聽聽</bean>
11聽聽聽聽聽
12聽聽聽聽聽<bean聽id="target2"聽class="SimpleTarget">
13聽聽聽聽聽聽聽聽聽<property聽name="val">
14聽聽聽聽聽聽聽聽聽聽聽聽聽<ref聽local="injectBean"/>
15聽聽聽聽聽聽聽聽聽</property>
16聽聽聽聽聽</bean>
17聽聽聽聽聽
18聽聽聽聽聽<bean聽id="target3"聽class="SimpleTarget">
19聽聽聽聽聽聽聽聽聽<property聽name="val">
20聽聽聽聽聽聽聽聽聽聽聽聽聽<ref聽parent="injectBean"/>
21聽聽聽聽聽聽聽聽聽</property>
22聽聽聽聽聽</bean>
23聽聽聽聽聽
24聽聽聽聽聽<bean聽id="injectBean"聽class="java.lang.String">
25聽聽聽聽聽聽聽聽聽聽聽聽<constructor-arg>
26聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<value>Bean聽In聽Child</value>
27聽聽聽聽聽聽聽聽聽聽聽聽</constructor-arg>
28聽聽聽聽聽</bean>
29聽</beans>
30聽
SimpleTarget涓彧鏈変竴灞炴tring val
聽1聽public聽static聽void聽main(String[]聽args)聽{
聽2聽聽聽聽聽聽聽聽聽BeanFactory聽parent聽=聽new聽XmlBeanFactory(new聽FileSystemResource(
聽3聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽"build/parent.xml"));
聽4聽聽聽聽聽聽聽聽聽BeanFactory聽child聽=聽new聽XmlBeanFactory(new聽FileSystemResource(
聽5聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽"build/beans.xml"),聽parent);
聽6聽
聽7聽聽聽聽聽聽聽聽聽SimpleTarget聽target1聽=聽(SimpleTarget)聽child.getBean("target1");
聽8聽聽聽聽聽聽聽聽聽SimpleTarget聽target2聽=聽(SimpleTarget)聽child.getBean("target2");
聽9聽聽聽聽聽聽聽聽聽SimpleTarget聽target3聽=聽(SimpleTarget)聽child.getBean("target3");
10聽
11聽聽聽聽聽聽聽聽聽System.out.println(target1.getVal());
12聽聽聽聽聽聽聽聽聽System.out.println(target2.getVal());
13聽聽聽聽聽聽聽聽聽System.out.println(target3.getVal());
14聽聽聽聽聽}
榪愯緇撴灉錛?/span>
Bean In Parent
Bean In Child
Bean In Parent
鍒嗘瀽榪囩▼錛?/b>
鍦╞ean factory琚姞杞借繃紼嬩腑鍒嗗埆鍔犺澆鍚勫眰Bean Factory錛?/font>
BeanFactory聽parent聽
=聽new聽XmlBeanFactory(new聽FileSystemResource("build/parent.xml"));
BeanFactory聽child聽=聽new聽XmlBeanFactory(new聽FileSystemResource("build/beans.xml"
),聽parent);
鍏朵腑parent鍙傛暟鎸囧畾浜哹ean factory闂寸殑鐖跺瓙鍏崇郴銆?/font>
鍒嗘瀽緇撴灉錛?/b>
絎竴琛岀粨鏋滀負(fù)鍦ㄧ埗factory涓畾涔夌殑鍙傛暟錛岃鏄庡湪瀛恌antory涓彲浠ョ洿鎺ヨ皟鐢ㄧ埗fantory鍏冪礌錛岀被浼間簬java涓殑緇ф壙鍏崇郴銆?br />
絎簩琛岀粨鏋滆鏄?/font>
<
ref聽
local
="injectBean"
/>涓璴ocal鎸囧悜鏈琭antory鍏冪礌銆?br />
絎笁琛岀粨鏋滀負(fù)Bean In Parent錛岃鏄?/span>
<
ref聽
parent
="injectBean"
/>涓璸arent鎸囧悜鐖秄antory涓厓绱犮?/span>

]]> - Spring絎旇涔嬪洓錛圫pring Event錛?/title>http://m.tkk7.com/improviser/archive/2007/09/24/147914.htmlimproviserimproviserMon, 24 Sep 2007 14:38:00 GMThttp://m.tkk7.com/improviser/archive/2007/09/24/147914.htmlhttp://m.tkk7.com/improviser/comments/147914.htmlhttp://m.tkk7.com/improviser/archive/2007/09/24/147914.html#Feedback3http://m.tkk7.com/improviser/comments/commentRss/147914.htmlhttp://m.tkk7.com/improviser/services/trackbacks/147914.html闃呰鍏ㄦ枃

]]> - Spring絎旇涔嬩笁錛圲sage of property config錛?/title>http://m.tkk7.com/improviser/archive/2007/09/24/147777.htmlimproviserimproviserMon, 24 Sep 2007 05:51:00 GMThttp://m.tkk7.com/improviser/archive/2007/09/24/147777.htmlhttp://m.tkk7.com/improviser/comments/147777.htmlhttp://m.tkk7.com/improviser/archive/2007/09/24/147777.html#Feedback3http://m.tkk7.com/improviser/comments/commentRss/147777.htmlhttp://m.tkk7.com/improviser/services/trackbacks/147777.html棣栧厛瀹氫箟妯″瀷鎺ュ彛Model錛岃鍥炬帴鍙iew錛屼互鍙?qiáng)瀹冧滑瀹炵幇绫籌mpModel錛孖mpView.
Model涓畾涔夋柟娉昰etString();View涓畾涔塎odel瀹炰緥涓哄叾灞炴э紝鍦ㄥ疄鐜扮被ImpView涓疄鐜版柟娉?
disPlay(),鍏舵柟娉曚綋涓篗odel瀹炰緥鐨刧etString()鏂規(guī)硶錛屽茍灝嗗叾鎵撳嵃鍑烘潵銆?nbsp; 闃呰鍏ㄦ枃
]]> - Spring絎旇涔嬩簩錛圕ollection Injection錛?/title>http://m.tkk7.com/improviser/archive/2007/09/24/147710.htmlimproviserimproviserMon, 24 Sep 2007 02:23:00 GMThttp://m.tkk7.com/improviser/archive/2007/09/24/147710.htmlhttp://m.tkk7.com/improviser/comments/147710.htmlhttp://m.tkk7.com/improviser/archive/2007/09/24/147710.html#Feedback2http://m.tkk7.com/improviser/comments/commentRss/147710.htmlhttp://m.tkk7.com/improviser/services/trackbacks/147710.html,,浠ュ強(qiáng)鍏冪礌瀹氫箟鍜岃緗笌java collection綾誨瀷瀵瑰簲鐨凩ist錛孲et錛孧ap錛孯properties鐨勫箋?nbsp; 闃呰鍏ㄦ枃

]]> - Spring絎旇涔嬩竴錛堝垵鎺pring錛?/title>http://m.tkk7.com/improviser/archive/2007/09/24/147650.htmlimproviserimproviserSun, 23 Sep 2007 17:31:00 GMThttp://m.tkk7.com/improviser/archive/2007/09/24/147650.htmlhttp://m.tkk7.com/improviser/comments/147650.htmlhttp://m.tkk7.com/improviser/archive/2007/09/24/147650.html#Feedback5http://m.tkk7.com/improviser/comments/commentRss/147650.htmlhttp://m.tkk7.com/improviser/services/trackbacks/147650.html鍒濇帰Spring紼嬪簭錛岀▼搴忓涓嬶細(xì)
聽聽聽聽
聽1聽BeanNaming.java
聽2聽聽聽聽聽package聽spring.beantest;
聽3聽
聽4聽聽聽聽聽import聽org.springframework.beans.factory.BeanFactory;
聽5聽聽聽聽聽import聽org.springframework.beans.factory.xml.XmlBeanFactory;
聽6聽聽聽聽聽import聽org.springframework.core.io.FileSystemResource;
聽7聽
聽8聽聽聽聽聽public聽class聽BeanNaming聽{
聽9聽聽聽聽聽public聽static聽void聽main(String聽[]args)
10聽聽聽聽聽{
11聽聽聽聽聽聽聽聽聽BeanFactory聽factory聽=聽new聽XmlBeanFactory(new聽FileSystemResource("src/applicationContext.xml"));
12聽聽聽聽聽
13聽聽聽聽聽聽聽聽聽String聽s1聽=聽(String)factory.getBean("name1");
14聽聽聽聽聽聽聽聽聽String聽s2聽=聽(String)factory.getBean("name2");
15聽聽聽聽聽聽聽聽聽String聽s3聽=聽(String)factory.getBean("name3");
16聽聽聽聽聽聽聽聽聽String聽s4聽=聽(String)factory.getBean("name4");
17聽聽聽聽聽聽聽聽聽
18聽聽聽聽聽聽聽聽聽System.out.println((s1聽==聽s2));
19聽聽聽聽聽聽聽聽聽System.out.println((s2聽==聽s3));
20聽聽聽聽聽聽聽聽聽System.out.println((s3聽==聽s4));
21聽聽聽聽聽聽聽聽聽
22聽聽聽聽聽聽聽聽聽String[]聽x聽=聽factory.getAliases("name3");
23聽聽聽聽聽聽聽聽聽for(String聽str:x)
24聽聽聽聽聽聽聽聽聽{
25聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(str);
26聽聽聽聽聽聽聽聽聽}
27聽聽聽聽聽聽聽聽聽
28聽聽聽聽聽聽聽}
29聽聽聽聽聽}
30聽聽
31聽聽聽聽聽聽聽applicationContext.xml
32聽聽聽聽聽聽<?xml聽version="1.0"聽encoding="UTF-8"?>
33聽聽聽聽聽聽<!DOCTYPE聽beans聽PUBLIC聽"-//SPRING//DTD聽BEAN//EN"聽"http://www.springframework.org/dtd/spring-beans.dtd">
34聽聽聽聽聽聽<beans>
35聽聽聽聽聽聽<!--聽aliasing聽examples聽-->
36聽聽聽聽聽聽<bean聽id="name1"聽name="name2,name3,name4"聽class="java.lang.String"/>
37聽聽聽聽聽聽</beans>
聽聽聽 杈撳嚭緇撴灉涓猴細(xì)
聽聽聽 true
聽聽聽 true
聽聽聽 true
聽聽聽 name1
聽聽聽 name4
聽聽聽 name2
聽聽聽
聽聽聽 鍙互鐪嬪嚭錛屼嬌鐢ㄤ腑id灞炴у拰name灞炴у嚑涔庢病鏈変換浣曞尯鍒傝皟鐢╞eanfactory.getAliases(string)鐨勬柟娉曟椂錛屼紶鍏ョ殑鍙傛暟鍙互鏄換鎰忎竴涓猙ean鍚嶅瓧錛岃緭鍑虹殑鍒悕鍒欐槸闄ゅ幓浣滀負(fù)鍙傛暟鏈韓涔嬪鐨勬墍鏈?
bean鍚嶃?/span>
聽聽
聽聽 鍙?/span>錛?span style="color: rgb(74, 48, 255);">鍦ㄥ啓
applicationContxt.xml鏂囦歡鏃訛紝濡傛灉娌℃湁瀹氫箟<!DOCTYPE beans PUBLIC
"-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">錛屽垯浼?xì)鎶涘?/span>Cannot find the declaration of element 'beans'寮傚父銆?/span>
聽聽
聽聽 聽聽聽浠ヤ笂浣跨敤BeanFactory瀵歸厤緗枃浠惰繘琛屽姞杞斤紝BeanFactory錛屾槸鏍規(guī)嵁閰嶇疆鏂囦歡璐熻矗鍒涘緩Bean鐨勫疄渚嬶紝騫惰礋璐ean鐨勭敓鍛藉懆鏈熺殑綆$悊-
--錛屽寘鎷珺ean鐨勭敓鎴愪笌閿姣併丅ean鐨勫垱寤烘柟寮忕殑璇嗗埆錛堟槸鍚︿負(fù)singleton錛夈丅ean鐨勫悇涓睘鎬х殑璁懼畾銆佷緷璧栧叧緋葷殑寤虹珛絳夈?br />
聽聽聽
ApplicationContext鎺ュ彛錛屾彁渚涗簡鍥介檯鍖栥佷簨浠跺鐞嗗強(qiáng)beans鍦╟ontext涓殑鑷煡鑳藉姏銆傚畠涔熷彲鍒涘緩鍏鋒湁灞傛緇撴瀯context鐜?
澧冿紝灝哹ean鐨勪綔鐢ㄥ煙鍜屽彲璁塊棶鍖哄煙闄愬埗鍦ㄥ簲鐢ㄧ▼搴忕殑涓涓壒瀹氶儴鍒嗕腑銆備笅闈㈡紨紺哄浣曚嬌鐢ˋpplicationContext鎺ュ彛銆?/span>
聽聽聽
聽1聽<!DOCTYPE聽beans聽PUBLIC聽"-//SPRING//DTD聽BEAN//EN"聽"http://www.springframework.org/dtd/spring-聽聽聽聽beans.dtd">
聽2聽聽聽聽聽<beans>
聽3聽聽聽聽聽<bean聽id="bean_1"聽class="BeanTest"/>
聽4聽聽聽聽聽<bean聽id="bean_2"聽class="BeanTest"/>
聽5聽聽聽聽聽</beans>
聽6聽
聽7聽
聽8聽聽聽聽聽public聽class聽BeanTest聽{
聽9聽聽聽聽聽public聽void聽test()聽{
10聽聽聽聽聽聽聽聽聽System.out.println("test..");
11聽聽聽聽聽}
12聽聽聽聽}
13聽
14聽
15聽聽聽聽import聽org.springframework.context.ApplicationContext;
16聽聽聽聽import聽org.springframework.context.support.FileSystemXmlApplicationContext;
17聽
18聽聽聽聽public聽class聽BeanNameExample聽{
19聽
20聽聽聽聽聽public聽static聽void聽main(String[]聽args)聽{
21聽聽聽聽聽聽聽聽聽ApplicationContext聽ctx聽=聽new聽FileSystemXmlApplicationContext(
22聽聽聽聽聽聽聽聽聽"build/applicationContext.xml");
23聽聽聽聽聽聽聽聽聽
24聽聽聽聽聽聽聽聽聽BeanTest聽beanOne聽=聽(BeanTest)ctx.getBean("bean_1");
25聽聽聽聽聽聽聽聽聽BeanTest聽beanTwo聽=聽(BeanTest)ctx.getBean("bean_2");
26聽聽聽聽聽聽聽聽聽
27聽聽聽聽聽聽聽聽聽beanOne.test();
28聽聽聽聽聽聽聽聽聽beanTwo.test();
29聽聽聽聽聽聽聽}
30聽聽聽聽}
31聽
聽聽緇間笂錛孉pplicationContext涓嶣eanFactory鐨勪笉鍚岀偣
聽聽
BeanFactory鎻愪緵浜嗛拡瀵笿avaBean鐨勭鐞嗗姛鑳斤紝鑰孉pplicationContext鎻愪緵浜嗕竴涓洿涓烘鏋跺寲鐨勫疄鐜幫紙浠庝笂闈㈢殑紺轟緥涓彲浠?
鐪嬪嚭錛孊eanFactory鐨勪嬌鐢ㄦ柟寮忔洿鍔犵被浼間竴涓狝PI錛岃岄潪Framework
style錛夈侫pplicationContext瑕嗙洊浜咮eanFactory鐨勬墍鏈夊姛鑳斤紝騫舵彁渚涗簡鏇村鐨勭壒鎬с傛澶栵紝
ApplicationContext涓轟笌鐜版湁搴旂敤妗嗘灦鐩告暣鍚堬紝鎻愪緵浜嗘洿涓哄紑鏀懼紡鐨勫疄鐜幫紙濡傚浜嶹eb搴旂敤錛屾垜浠彲浠ュ湪web.xml涓
ApplicationContext榪涜閰嶇疆錛夈?/strong>
]]>
主站蜘蛛池模板:
久久亚洲AV永久无码精品|
日韩a毛片免费观看|
亚洲欧洲自拍拍偷精品 美利坚|
免费无码一区二区三区|
xvideos永久免费入口|
亚洲熟妇AV一区二区三区浪潮|
亚洲gv白嫩小受在线观看|
人人狠狠综合久久亚洲高清|
成年女性特黄午夜视频免费看
|
日韩精品人妻系列无码专区免费
|
免费视频爱爱太爽了|
今天免费中文字幕视频|
乱人伦中文视频在线观看免费|
久久亚洲国产成人影院|
亚洲美女激情视频|
亚洲成AV人片一区二区|
久久亚洲国产成人精品无码区|
免费国产综合视频在线看|
成人免费视频网址|
日韩视频在线精品视频免费观看|
久草免费福利资源站|
国产免费一区二区三区免费视频|
免费精品视频在线|
黄色一级免费网站|
美女被免费视频网站|
精品国产亚洲第一区二区三区|
亚洲码欧美码一区二区三区|
亚洲www77777|
亚洲午夜无码毛片av久久京东热|
亚洲人成影院午夜网站|
亚洲欧洲高清有无|
亚洲人成人77777网站不卡|
亚洲一级毛片免费看|
亚洲性线免费观看视频成熟|
亚洲娇小性色xxxx|
亚洲中文字幕无码爆乳app|
亚洲精品无码久久久久久|
日韩欧美亚洲中文乱码|
黄页网址在线免费观看|
特级毛片A级毛片100免费播放|
最好2018中文免费视频|