锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲美女中文字幕,亚洲精品无码专区在线播放,久久精品国产精品亚洲艾草网 http://www.tkk7.com/agun/archive/2010/12/04/339788.htmlagunagunSat, 04 Dec 2010 03:52:00 GMThttp://www.tkk7.com/agun/archive/2010/12/04/339788.htmlhttp://www.tkk7.com/agun/comments/339788.htmlhttp://www.tkk7.com/agun/archive/2010/12/04/339788.html#Feedback0http://www.tkk7.com/agun/comments/commentRss/339788.htmlhttp://www.tkk7.com/agun/services/trackbacks/339788.html1錛?Spring bean 瀹氫箟

spring bean 瀹氫箟鍙兘鍖呭惈澶ч噺鐨勯厤緗俊鎭紝鍖呮嫭瀹瑰櫒鐩稿叧鐨勪俊鎭紙姣斿鍒濆鍖栨柟娉曪紝闈欐佸伐鍘傛柟娉?/p>

絳夛級銆佹瀯閫犲嚱鏁板弬鏁般佸睘鎬х瓑銆傚鏋滀袱涓猙ean涔嬮棿鐨勯厤緗俊鎭ぇ鍚屽皬寮傦紝鍙噰鐢╞ean鐨勭戶鎵挎潵鍑忓皯閲?/p>

澶嶉厤緗伐浣溿傚瓙bean瀹氫箟鍙互浠庣埗bean瀹氫箟緇ф壙閮ㄥ垎閰嶇疆銆傚畠涔熷彲瑕嗙洊涓浜涢厤緗紝鎴栬呮坊鍔犱竴浜涢厤緗?/p>

銆備嬌鐢ㄧ戶鎵塊厤緗彲浠ヨ妭鐪佸緢澶氳緭鍏ュ伐浣滐紝瀹為檯涓婂氨鏄竴縐嶆ā鏉垮艦寮忋?/p>

spring涓簨鍔¢厤緗腑灝辨湁榪欐牱渚嬪瓙錛屼負浜嗕嬌鐢ㄤ簨鍔″彧瑕佺埗閰嶇疆浜嗕簨鍔′唬鐞嗗氨鍙互浜嗭紝鎵鏈夐渶瑕佷簨鍔$殑

bean鍙緇ф壙鐖跺氨鍙互浜嗐傝鍒拌繖涓氨鍦ㄥ璇村嚑鍙ワ紝鐖禸ean閫氬父涓嶉渶瑕佸疄渚嬪寲鐨勶紝鑰屼粎浠呬綔涓哄瓙bean

瀹氱殑鐨勬ā鏉夸嬌鐢紱鑰孉pplicationContext榛樿棰勫垵濮嬪寲鎵鏈夌殑singleton bean銆備負浜嗛樆姝㈢埗bean琚

鍒濆鍖栵紝鍙互浣跨敤abstract灞炴ц緗埗bean涓烘娊璞ean銆傚鍣ㄤ細蹇界暐鎵鏈夌殑鎶借薄bean瀹氫箟錛岄鍒濆鍖?/span>

鏃朵笉鍒濆鍖栨娊璞ean銆?/p>

 

2錛?spring 浜嬪姟綆$悊

浼犵粺鐨凧2EE寮鍙戣呭浜嬪姟綆$悊鍙兘閲囩敤涓ょ絳栫暐

錛?錛夛紝鍏ㄥ眬浜嬪姟錛氬叏灞浜嬪姟閫氬父鐢卞簲鐢ㄦ湇鍔″櫒綆$悊錛屼嬌鐢↗TA銆傚叏灞浜嬪姟鍙法瓚婂涓簨鍔℃х殑璧勬簮錛屼繚璇?/p>

鍦ㄥ涓簨鍔℃ц祫婧愰棿璺ㄨ秺鏃惰祫婧愪竴鑷存с?br /> 錛?錛夛紝灞閮ㄤ簨鍔?/span>錛氬眬閮ㄤ簨鍔″拰鐗瑰畾璧勬簮鐩稿叧錛屽錛屼竴涓拰JDBC閾炬帴鍏寵仈鐨勪簨鍔°傝浜嬪姟灝借兘淇濊瘉瀵硅

JDBC榪炴帴鏁版嵁搴撶殑涓鑷存э紝瀵瑰眬閮ㄤ簨鍔★紝搴旂敤鏈嶅姟鍣ㄤ笉闇瑕佸弬涓庝簨鍔$鐞嗭紝涓嶈兘淇濊瘉璺ㄨ秺澶氫釜璧勬簮鐨?/p>

浜嬪姟姝g‘鎬с?/p>

 

3錛岀紪紼嬪紡浜嬪姟

Spring 鎻愪緵涓ょ緙栫▼寮忕殑浜嬪姟綆$悊

 

錛?錛変嬌鐢═ransactionTemplate浜嬪姟綆$悊

錛?錛夌洿鎺ヤ嬌鐢ㄤ竴涓狿latformTransactionManager瀹炵幇綾葷鐞嗕簨鍔°?/p>

 

涓ょ緙栫▼寮忕殑浜嬪姟閮戒笉闇瑕佷笌鐗瑰畾鐨勪簨鍔PI鑰﹀悎錛岀涓縐嶆洿絎﹀悎Spring妯℃澘寮忕殑緙栫▼妯″瀷錛屽洜姝ら氬父鎺ㄨ崘閲囩敤絎竴縐嶆柟寮忥紝絎簩縐嶉潪甯哥被浼間簬JTA鐨刄serTransaction鐨凙PI緙栫▼錛屽尯鍒槸鍑忓皯浜嗗紓甯稿鐞嗐?/p>

 

 

 

4錛屽0鏄庡紡浜嬪姟

Spring鐨勫0鏄庡紡浜嬪姟鏄氳繃闈㈠悜鍒囬潰錛圓OP錛夊疄鐜般?/p>

錛?錛変嬌鐢ㄥ0鏄庡紡浜嬪姟綆$悊

閫氬父錛岄氳繃TransactionPoxyFactoryBean涓虹洰鏍嘊ean鐢熸垚Spring浜嬪姟浠g悊銆傚綋bean瀹炰緥鐨勬柟娉曢渶瑕佷簨鍔$鐞嗘椂錛岄噰鐢═ransactionPoxyFactoryBean鏉ヨ嚜鐩爣bean鐢熸垚浜嬪姟浠g悊銆?span style="color: #ff0000">姣忎釜TransactionPoxyFactoryBean涓轟竴涓叿浣撶殑鐩爣bean鐢熸垚浠g悊瀵硅薄錛屼唬鐞嗗璞$殑鏂規硶鏀瑰啓浜嗙洰鏍嘼ean鐨勬柟娉曪紝灝辨槸鍦ㄧ洰鏍嘼ean鐨勬柟娉曟墽琛屼箣鍓嶅姞鍏ュ紑濮嬩簨鍔★紝鍦ㄧ洰鏍嘼ean鏂規硶緇撴潫涔嬪悗鎻愪氦浜嬪姟錛岄亣鍒版寚瀹氬紓甯稿洖婊氫簨鍔?/span>銆?/p>

 

    瀹氫箟浜嬪姟浠g悊bean妯℃澘

Xml浠g爜 澶嶅埗浠g爜
  1. <bean id="txProxyTemplate" abstract="true"  
  2.     class="<SPAN style="COLOR: #ff0000">org.springframework.transaction.interceptor.TransactionProxyFactoryBean</SPAN>">  
  3.     <property name="transactionManager">  
  4.         <ref bean="transactionManager" />  
  5.     </property>  
  6.     <property name="transactionAttributes">  
  7.         <props>  
  8.             <prop key="trans_*">PROPAGATION_REQUIRED</prop>  
  9.             <prop key="query*">  
  10.                 PROPAGATION_REQUIRED,readOnly,-Exception   
  11.             </prop>  
  12.             <prop key="find*">  
  13.                 PROPAGATION_REQUIRED,readOnly,-Exception   
  14.             </prop>  
  15.             <prop key="load*">  
  16.                 PROPAGATION_REQUIRED,readOnly,-Exception   
  17.             </prop>  
  18.             <prop key="*">PROPAGATION_REQUIRED,-Exception</prop>  
  19.         </props>  
  20.     </property>  
  21. </bean>  

 

 

錛?錛夋牴鎹瓸eanName鑷姩鍒涘緩浜嬪姟浠g悊

濡傛灉鍚屼竴涓簲鐢ㄤ腑鏈夊緢澶氱洰鏍嘼ean闇瑕佺敓鎴愪簨鍔′唬鐞嗭紝褰撶劧鍙互涓烘瘡涓洰鏍嘼ean棰濆閰嶇疆涓涓猅ransactionPoxyFactoryBean bean.榪欐牱鍋氱殑緙虹偣鏄紝閰嶇疆鏂囦歡鐩稿綋鑷冭偪鑰屼笖闅句互緇存姢錛屾鏃跺彲浠ヨ冭檻浣跨敤鑷姩浜嬪姟浠g悊銆傝嚜鍔ㄤ簨鍔′唬鐞嗙殑鎬濊礬鏄紝褰揂pplicationContext鍒濆鍖栧畬鎴愬悗錛岀敱涓婁笅鏂囦腑鐨勬煇涓猙ean"鍚庡鐞?姣忎釜鐩爣bean錛屼負榪欎簺鐩爣bean鐢熸垚浜嬪姟浠g悊銆?/p>

鑳戒負鐩爣bean鎵ц"鍚庡鐞?鐨刡ean蹇呴』瀹炵幇BeanFactoryPostProcessor鎺ュ彛錛孉pplicationContext瀹屾垚鍒濆鍖栧悗錛屼細鑷姩鍒濆鍖栨墍鏈夊疄鐜癇eanFactoryPostProcessor鎺ュ彛鐨刡ean錛屽茍涓旇瀹?span style="color: #ff0000">“鍚庡鐞?#8221;鍏朵粬bean.Spring鎻愪緵BeanFactoryPostProcessor鐨勫疄鐜扮被BeanNameAutoPoxyCreator錛?span style="color: #ff0000">BeanNameAutoPoxyCreator鍙互鐢ㄦ潵澶勭悊ApplicationContext涓叾浠朾ean錛屾柟娉曟槸閫氳繃鍚嶇О鏉ヨ瘑鍒紝騫朵笖鎶婁粬浠敤浜嬪姟浠g悊鍖呰璧鋒潵銆?span style="color: #ff0000">BeanNameAutoPoxyCreator鐢熸垚鐨勪簨鍔′唬鐞嗭紝鍜屼嬌鐢═ransactionPoxyFactoryBean鐢熸垚鐨勪簨鍔′唬鐞嗗熀鏈竴鑷淬?/p>

 

    瀹氫箟浜嬪姟鎷︽埅bean

Xml浠g爜 澶嶅埗浠g爜
  1.  <bean id="transactionInterceptor"  
  2.   class="<SPAN style="COLOR: #ff0000">org.springframework.transaction.interceptor.TransactionInterceptor</SPAN>">  
  3.   <property name="transactionManager" ref="TransactionManager" />  
  4.      
  5.   <property name="transactionAttributes">  
  6.    <props>  
  7.     <prop key="create*">  
  8.      PROPAGATION_REQUIRED,-Exception   
  9.     </prop>  
  10.     <prop key="delete*">  
  11.      PROPAGATION_REQUIRED,-Exception   
  12.     </prop>    
  13.     <prop key="update*">  
  14.      PROPAGATION_REQUIRED,-Exception   
  15.     </prop>           
  16.     <prop key="get*">PROPAGATION_REQUIRED</prop>  
  17.    </props>  
  18.   </property>  
  19.  </bean>  
Xml浠g爜 澶嶅埗浠g爜
  1.  <bean  
  2.   class="<SPAN style="COLOR: #ff0000">org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator</SPAN>">  
  3.   <property name="beanNames">  
  4.    <value>*Service</value>  
  5.   </property>  
  6.   <property name="interceptorNames">  
  7.    <list>  
  8.     <value>transactionInterceptor</value>  
  9.    </list>  
  10.   </property>  
  11.  </bean>   

 

嬈¢厤緗叧閿湪涓や釜bean

TransactionInterceptor

BeanNameAutoProxyCreator

 

錛?錛夊熀浜庢敞閲婂紡浜嬪姟浠g悊閰嶇疆



agun 2010-12-04 11:52 鍙戣〃璇勮
]]>
spring 甯歌瘑1http://www.tkk7.com/agun/archive/2010/12/04/339787.htmlagunagunSat, 04 Dec 2010 03:50:00 GMThttp://www.tkk7.com/agun/archive/2010/12/04/339787.htmlhttp://www.tkk7.com/agun/comments/339787.htmlhttp://www.tkk7.com/agun/archive/2010/12/04/339787.html#Feedback0http://www.tkk7.com/agun/comments/commentRss/339787.htmlhttp://www.tkk7.com/agun/services/trackbacks/339787.html1,瀹炰緥鍖朾ean
灝盨pring IoC瀹瑰櫒鑰岃█錛宐ean瀹氫箟鍩烘湰涓婃弿榪頒簡鍒涘緩涓涓垨澶氫釜瀹為檯bean瀵硅薄鐨勫唴瀹廣傚綋闇瑕佺殑鏃跺欙紝瀹瑰櫒浼氫粠bean瀹氫箟鍒楄〃涓彇寰椾竴涓寚瀹氱殑bean瀹氫箟錛屽茍鏍規嵁bean瀹氫箟閲岄潰鐨勯厤緗厓鏁版嵁浣跨敤鍙嶅皠鏈哄埗鏉ュ垱寤轟竴涓疄闄呯殑瀵硅薄銆傚洜姝よ繖涓鑺傚皢璁茶В濡備綍鍛婄煡Spring IoC瀹瑰櫒鎴戜滑灝嗚瀹炰緥鍖栫殑瀵硅薄鐨勭被鍨嬩互鍙婂浣曞疄渚嬪寲瀵硅薄銆?

褰撻噰鐢╔ML鎻忚堪閰嶇疆鍏冩暟鎹椂錛屽皢閫氳繃<bean/>鍏冪礌鐨刢lass灞炴ф潵鎸囧畾瀹炰緥鍖栧璞$殑綾誨瀷銆俢lass 灞炴?(瀵瑰簲BeanDefinition瀹炰緥鐨凜lass灞炴?閫氬父鏄繀欏葷殑(涓嶈繃涔熸湁涓ょ渚嬪鐨勬儏褰紝“浣跨敤瀹炰緥宸ュ巶鏂規硶瀹炰緥鍖?#8221;鍜?#8220;bean瀹氫箟鐨勭戶鎵?#8221;)銆俢lass灞炴т富瑕佹湁涓ょ鐢ㄩ旓細鍦ㄥぇ澶氭暟鎯呭喌涓嬶紝瀹瑰櫒灝嗙洿鎺ラ氳繃鍙嶅皠璋冪敤鎸囧畾綾葷殑鏋勯犲櫒鏉ュ垱寤篵ean(榪欐湁鐐圭瓑綾諱技浜庡湪Java浠g爜涓嬌鐢╪ew鎿嶄綔絎?錛涘湪鏋佸皯鏁版儏鍐典笅錛屽鍣ㄥ皢璋冪敤綾葷殑闈欐佸伐鍘傛柟娉曟潵鍒涘緩bean瀹炰緥錛宑lass灞炴у皢鐢ㄦ潵鎸囧畾瀹為檯鍏鋒湁闈欐佸伐鍘傛柟娉曠殑綾?鑷充簬璋冪敤闈欐佸伐鍘傛柟娉曞垱寤虹殑瀵硅薄綾誨瀷鏄綋鍓峜lass榪樻槸鍏朵粬鐨刢lass鍒欐棤鍏崇揣瑕?銆?/p>

2, 寤惰繜鍒濆鍖朾ean
ApplicationContext瀹炵幇鐨勯粯璁よ涓哄氨鏄湪鍚姩鏃跺皢鎵鏈塻ingleton bean鎻愬墠榪涜瀹炰緥鍖栥傛彁鍓嶅疄渚嬪寲鎰忓懗鐫浣滀負鍒濆鍖栬繃紼嬬殑涓閮ㄥ垎錛孉pplicationContext瀹炰緥浼氬垱寤哄茍閰嶇疆鎵鏈夌殑singleton bean銆傞氬父鎯呭喌涓嬭繖鏄歡濂戒簨錛屽洜涓鴻繖鏍峰湪閰嶇疆涓殑浠諱綍閿欒灝變細鍗沖埢琚彂鐜幫紙鍚﹀垯鐨勮瘽鍙兘瑕佽姳鍑犱釜灝忔椂鐢氳嚦鍑犲ぉ錛夈?/p>

鏈夋椂鍊欒繖縐嶉粯璁ゅ鐞嗗彲鑳藉茍涓嶆槸浣犳兂瑕佺殑銆傚鏋滀綘涓嶆兂璁╀竴涓猻ingleton bean鍦ˋpplicationContext瀹炵幇鍦ㄥ垵濮嬪寲鏃惰鎻愬墠瀹炰緥鍖栵紝閭d箞鍙互灝哹ean璁劇疆涓哄歡榪熷疄渚嬪寲銆備竴涓歡榪熷垵濮嬪寲bean灝嗗憡璇塈oC 瀹瑰櫒鏄湪鍚姩鏃惰繕鏄湪絎竴嬈¤鐢ㄥ埌鏃跺疄渚嬪寲銆?/p>

鍦╔ML閰嶇疆鏂囦歡涓紝寤惰繜鍒濆鍖栧皢閫氳繃<bean/>鍏冪礌涓殑lazy-init灞炴ф潵榪涜鎺у埗銆備緥濡傦細

<bean id="lazy" class="com.foo.ExpensiveToCreateBean" lazy-init="true">
    <!-- various properties here... -->
</bean>
  <bean name="not.lazy" class="com.foo.AnotherBean">
    <!-- various properties here... -->
</bean>
褰揂pplicationContext瀹炵幇鍔犺澆涓婅堪閰嶇疆鏃訛紝璁劇疆涓簂azy鐨刡ean灝嗕笉浼氬湪ApplicationContext鍚姩鏃舵彁鍓嶈瀹炰緥鍖栵紝鑰宯ot.lazy鍗翠細琚彁鍓嶅疄渚嬪寲銆?/p>

闇瑕佽鏄庣殑鏄紝濡傛灉涓涓猙ean琚緗負寤惰繜鍒濆鍖栵紝鑰屽彟涓涓潪寤惰繜鍒濆鍖栫殑singleton bean渚濊禆浜庡畠錛岄偅涔堝綋ApplicationContext鎻愬墠瀹炰緥鍖杝ingleton bean鏃訛紝瀹冨繀欏諱篃紜繚鎵鏈変笂榪皊ingleton 渚濊禆bean涔熻棰勫厛鍒濆鍖栵紝褰撶劧涔熷寘鎷緗負寤惰繜瀹炰緥鍖栫殑bean銆傚洜姝わ紝濡傛灉Ioc瀹瑰櫒鍦ㄥ惎鍔ㄧ殑鏃跺欏垱寤轟簡閭d簺璁劇疆涓哄歡榪熷疄渚嬪寲鐨刡ean鐨勫疄渚嬶紝浣犱篃涓嶈瑙夊緱濂囨紝鍥犱負閭d簺寤惰繜鍒濆鍖栫殑bean鍙兘鍦ㄩ厤緗殑鏌愪釜鍦版柟琚敞鍏ュ埌浜嗕竴涓潪寤惰繜鍒濆鍖杝ingleton bean閲岄潰銆?/p>

鍦ㄥ鍣ㄥ眰嬈′腑閫氳繃鍦?lt;beans/>鍏冪礌涓婁嬌鐢?default-lazy-init'灞炴ф潵鎺у埗寤惰繜鍒濆鍖栦篃鏄彲鑳界殑銆傚涓嬮潰鐨勯厤緗細
<beans default-lazy-init="true">
    <!-- no beans will be eagerly pre-instantiated... -->
</beans>


3,鑷姩瑁呴厤錛坅utowire錛夊崗浣滆?/span>
Spring IoC瀹瑰櫒鍙互鑷姩瑁呴厤錛坅utowire錛夌浉浜掑崗浣渂ean涔嬮棿鐨勫叧鑱斿叧緋匯傚洜姝わ紝濡傛灉鍙兘鐨勮瘽錛屽彲浠ヨ嚜鍔ㄨSpring閫氳繃媯鏌eanFactory涓殑鍐呭錛屾潵鏇挎垜浠寚瀹歜ean鐨勫崗浣滆咃紙鍏朵粬琚緷璧栫殑bean錛夈傜敱浜巃utowire鍙互閽堝鍗曚釜bean榪涜璁劇疆錛屽洜姝ゅ彲浠ヨ鏈変簺bean浣跨敤autowire錛屾湁浜沚ean涓嶉噰鐢ㄣ俛utowire鐨勬柟渚夸箣澶勫湪鍑忓皯鎴栬呮秷闄ゅ睘鎬ф垨鏋勯犲櫒鍙傛暟鐨勮緗紝榪欐牱鍙互緇欐垜浠殑閰嶇疆鏂囦歡鍑忓噺鑲ワ紒[2] 鍦▁ml閰嶇疆鏂囦歡涓紝autowire涓鍏辨湁浜旂綾誨瀷錛屽彲浠ュ湪<bean/>鍏冪礌涓嬌鐢╝utowire灞炴ф寚瀹?

Table 3.2. Autowiring modes

妯″紡 璇存槑

    no 涓嶄嬌鐢ㄨ嚜鍔ㄨ閰嶃傚繀欏婚氳繃ref鍏冪礌鎸囧畾渚濊禆錛岃繖鏄粯璁よ緗傜敱浜庢樉寮忔寚瀹氬崗浣滆呭彲浠ヤ嬌閰嶇疆鏇寸伒媧匯佹洿娓呮櫚錛屽洜姝ゅ浜庤緝澶х殑閮ㄧ講閰嶇疆錛屾帹鑽愰噰鐢ㄨ璁劇疆銆傝屼笖鍦ㄦ煇縐嶇▼搴︿笂錛屽畠涔熸槸緋葷粺鏋舵瀯鐨勪竴縐嶆枃妗e艦寮忋?br />  
    byName 鏍規嵁灞炴у悕鑷姩瑁呴厤銆傛閫夐」灝嗘鏌ュ鍣ㄥ茍鏍規嵁鍚嶅瓧鏌ユ壘涓庡睘鎬у畬鍏ㄤ竴鑷寸殑bean錛屽茍灝嗗叾涓庡睘鎬ц嚜鍔ㄨ閰嶃備緥濡傦紝鍦╞ean瀹氫箟涓皢autowire璁劇疆涓篵y name錛岃岃bean鍖呭惈master灞炴э紙鍚屾椂鎻愪緵setMaster(..)鏂規硶錛夛紝Spring灝變細鏌ユ壘鍚嶄負master鐨刡ean瀹氫箟錛屽茍鐢ㄥ畠鏉ヨ閰嶇粰master灞炴с?br />  
    byType 濡傛灉瀹瑰櫒涓瓨鍦ㄤ竴涓笌鎸囧畾灞炴х被鍨嬬浉鍚岀殑bean錛岄偅涔堝皢涓庤灞炴ц嚜鍔ㄨ閰嶃傚鏋滃瓨鍦ㄥ涓綾誨瀷鐨刡ean錛岄偅涔堝皢浼氭姏鍑哄紓甯革紝騫舵寚鍑轟笉鑳戒嬌鐢╞yType鏂瑰紡榪涜鑷姩瑁呴厤銆傝嫢娌℃湁鎵懼埌鐩稿尮閰嶇殑bean錛屽垯浠涔堜簨閮戒笉鍙戠敓錛屽睘鎬т篃涓嶄細琚緗傚鏋滀綘涓嶅笇鏈涜繖鏍鳳紝閭d箞鍙互閫氳繃璁劇疆dependency-check="objects"璁㏒pring鎶涘嚭寮傚父銆?br />  
    constructor 涓巄yType鐨勬柟寮忕被浼鹼紝涓嶅悓涔嬪鍦ㄤ簬瀹冨簲鐢ㄤ簬鏋勯犲櫒鍙傛暟銆傚鏋滃湪瀹瑰櫒涓病鏈夋壘鍒頒笌鏋勯犲櫒鍙傛暟綾誨瀷涓鑷寸殑bean錛岄偅涔堝皢浼氭姏鍑哄紓甯搞?br />  
    autodetect 閫氳繃bean綾葷殑鑷渷鏈哄埗錛坕ntrospection錛夋潵鍐沖畾鏄嬌鐢╟onstructor榪樻槸byType鏂瑰紡榪涜鑷姩瑁呴厤銆傚鏋滃彂鐜伴粯璁ょ殑鏋勯犲櫒錛岄偅涔堝皢浣跨敤byType鏂瑰紡銆?br />  

濡傛灉鐩存帴浣跨敤property鍜宑onstructor-arg娉ㄥ叆渚濊禆鐨勮瘽錛岄偅涔堝皢鎬繪槸瑕嗙洊鑷姩瑁呴厤銆傝屼笖鐩墠涔熶笉鏀寔綆鍗曠被鍨嬬殑鑷姩瑁呴厤錛岃繖閲屾墍璇寸殑綆鍗曠被鍨嬪寘鎷熀鏈被鍨嬨丼tring銆丆lass浠ュ強綆鍗曠被鍨嬬殑鏁扮粍錛堣繖涓鐐瑰凡緇忚璁捐錛屽皢鑰冭檻浣滀負涓涓姛鑳芥彁渚涳級銆傝嚜鍔ㄨ閰嶈繕鍙互涓庝緷璧栨鏌ョ粨鍚堜嬌鐢紝榪欐牱渚濊禆媯鏌ュ皢鍦ㄨ嚜鍔ㄨ閰嶅畬鎴愪箣鍚庤鎵ц銆?/p>

鐞嗚В鑷姩瑁呴厤鐨勪紭緙虹偣鏄緢閲嶈鐨勩傚叾涓紭鐐瑰寘鎷細

鑷姩瑁呴厤鑳芥樉钁楀噺灝戦厤緗殑鏁伴噺銆備笉榪囷紝閲囩敤bean妯℃澘錛堣榪欓噷錛変篃鍙互杈懼埌鍚屾牱鐨勭洰鐨勩?/p>

鑷姩瑁呴厤鍙互浣塊厤緗笌java浠g爜鍚屾鏇存柊銆備緥濡傦紝濡傛灉浣犻渶瑕佺粰涓涓猨ava綾誨鍔犱竴涓緷璧栵紝閭d箞璇ヤ緷璧栧皢琚嚜鍔ㄥ疄鐜拌屼笉闇瑕佷慨鏀歸厤緗傚洜姝ゅ己鐑堟帹鑽愬湪寮鍙戣繃紼嬩腑閲囩敤鑷姩瑁呴厤錛岃屽湪緋葷粺瓚嬩簬紼沖畾鐨勬椂鍊欐敼涓烘樉寮忚閰嶇殑鏂瑰紡銆?/p>

鑷姩瑁呴厤鐨勪竴浜涚己鐐癸細

灝界鑷姩瑁呴厤姣旀樉寮忚閰嶆洿紲炲錛屼絾鏄紝姝e涓婇潰鎵鎻愬埌鐨勶紝Spring浼氬敖閲忛伩鍏嶅湪瑁呴厤涓嶆槑紜殑鏃跺欒繘琛岀寽嫻嬶紝鍥犱負瑁呴厤涓嶆槑紜彲鑳藉嚭鐜伴毦浠ラ鏂欑殑緇撴灉錛岃屼笖Spring鎵綆$悊鐨勫璞′箣闂寸殑鍏寵仈鍏崇郴涔熶笉鍐嶈兘娓呮櫚鐨勮繘琛屾枃妗e寲銆?/p>

瀵逛簬閭d簺鏍規嵁Spring閰嶇疆鏂囦歡鐢熸垚鏂囨。鐨勫伐鍏鋒潵璇達紝鑷姩瑁呴厤灝嗕細浣胯繖浜涘伐鍏鋒病娉曠敓鎴愪緷璧栦俊鎭?/p>

濡傛灉閲囩敤by type鏂瑰紡鑷姩瑁呴厤錛岄偅涔堝鍣ㄤ腑綾誨瀷涓庤嚜鍔ㄨ閰峛ean鐨勫睘鎬ф垨鑰呮瀯閫犲嚱鏁板弬鏁扮被鍨嬩竴鑷寸殑bean鍙兘鏈変竴涓紝濡傛灉閰嶇疆鍙兘瀛樺湪澶氫釜榪欐牱鐨刡ean錛岄偅涔堝氨瑕佽冭檻閲囩敤鏄懼紡瑁呴厤浜嗐?/p>

灝界浣跨敤autowire娌℃湁瀵歸敊涔嬪垎錛屼絾鏄兘鍦ㄤ竴涓」鐩腑淇濇寔涓瀹氱▼搴︾殑涓鑷存ф槸鏈濂界殑鍋氭硶銆備緥濡傦紝閫氬父鎯呭喌涓嬪鏋滄病鏈変嬌鐢ㄨ嚜鍔ㄨ閰嶏紝閭d箞浠呰嚜鍔ㄨ閰嶄竴涓垨涓や釜bean瀹氫箟鍙兘浼氬紩璧峰紑鍙戣呯殑娣鋒穯銆?/p>

agun 2010-12-04 11:50 鍙戣〃璇勮
]]>
Ehcache緙撳瓨閰嶇疆http://www.tkk7.com/agun/archive/2010/12/04/339785.htmlagunagunSat, 04 Dec 2010 03:46:00 GMThttp://www.tkk7.com/agun/archive/2010/12/04/339785.htmlhttp://www.tkk7.com/agun/comments/339785.htmlhttp://www.tkk7.com/agun/archive/2010/12/04/339785.html#Feedback0http://www.tkk7.com/agun/comments/commentRss/339785.htmlhttp://www.tkk7.com/agun/services/trackbacks/339785.html闃呰鍏ㄦ枃

agun 2010-12-04 11:46 鍙戣〃璇勮
]]>
hibernate 鏀寔 postgis鍑芥暟http://www.tkk7.com/agun/archive/2008/07/15/215089.htmlagunagunTue, 15 Jul 2008 15:05:00 GMThttp://www.tkk7.com/agun/archive/2008/07/15/215089.htmlhttp://www.tkk7.com/agun/comments/215089.htmlhttp://www.tkk7.com/agun/archive/2008/07/15/215089.html#Feedback6http://www.tkk7.com/agun/comments/commentRss/215089.htmlhttp://www.tkk7.com/agun/services/trackbacks/215089.html闃呰鍏ㄦ枃

agun 2008-07-15 23:05 鍙戣〃璇勮
]]>
Spring涓璪ean鐨勪綔鐢ㄥ煙綆浠?杞澆) http://www.tkk7.com/agun/archive/2008/06/06/206320.htmlagunagunFri, 06 Jun 2008 06:30:00 GMThttp://www.tkk7.com/agun/archive/2008/06/06/206320.htmlhttp://www.tkk7.com/agun/comments/206320.htmlhttp://www.tkk7.com/agun/archive/2008/06/06/206320.html#Feedback0http://www.tkk7.com/agun/comments/commentRss/206320.htmlhttp://www.tkk7.com/agun/services/trackbacks/206320.htmlSpring涓婁釜鐗堟湰鐨処oC瀹瑰櫒鏀寔涓や釜涓嶅悓鐨刡ean浣滅敤鍩燂紙鍗曚緥涓庡師鍨嬶級銆?br /> Spring 2.0鏀硅繘浜嗚繖涓鐐癸紝涓嶄粎鎻愪緵浜嗕竴浜涗緷璧栦簬Spring閮ㄧ講鐜錛堟瘮濡傝錛屽湪web鐜涓殑request鍜宻ession浣滅敤鍩焍ean錛夌殑棰濆鐨勪綔鐢ㄥ煙,鑰屼笖鎻愪緵浜嗘墍璋撶殑'閽╁瓙'錛?hooks'錛夛紙鍥犱負鎵句笉鍒版洿濂界殑琛ㄨ揪錛変嬌Spring鐢ㄦ埛鍙互鍒涢犺嚜宸辯殑浣滅敤鍩熴?/p>

搴旇娉ㄦ剰鐨勬槸錛屽嵆浣垮崟渚嬩笌鍘熷瀷浣滅敤鍩焍eans鐨勫熀鏈紙鍐呭湪錛夊疄鐜板彂鐢熶簡鍙樺寲錛屼笂榪板彉鍖栧鏈緇堢敤鎴鋒潵璇存槸閫忔槑鐨?..鐜版湁鐨勯厤緗笉闇瑕佹敼鍙樻垨鏀懼純銆?/p>
濡備綍浣跨敤spring鐨勪綔鐢ㄥ煙錛?

            

<bean id="role" class="spring.chapter2.maryGame.Role" scope="singleton"/>


涓嬮潰鍒嗗埆瀵箂pring 涓殑浣滅敤鍩熷垎鍒粙緇嶄竴涓嬶細

1銆乻ingleton浣滅敤鍩?/strong>

褰撲竴涓猙ean鐨勪綔鐢ㄥ煙璁劇疆涓簊ingleton錛岄偅涔圫pring IOC瀹瑰櫒涓彧浼氬瓨鍦ㄤ竴涓叡浜殑bean瀹炰緥錛屽茍涓旀墍鏈夊bean鐨勮姹傦紝鍙id涓庤bean瀹氫箟鐩稿尮閰嶏紝鍒欏彧浼氳繑鍥瀊ean鐨勫悓涓瀹炰緥銆傛崲璦涔嬶紝褰撴妸涓涓猙ean瀹氫箟璁劇疆涓簊ingleton浣滅敤鍩熸椂錛孲pring IOC瀹瑰櫒鍙細鍒涘緩璇ean瀹氫箟鐨勫敮涓瀹炰緥銆傝繖涓崟涓瀹炰緥浼氳瀛樺偍鍒板崟渚嬬紦瀛橈紙singleton cache錛変腑錛屽茍涓旀墍鏈夐拡瀵硅bean鐨勫悗緇姹傚拰寮曠敤閮藉皢榪斿洖琚紦瀛樼殑瀵硅薄瀹炰緥錛岃繖閲岃娉ㄦ剰鐨勬槸singleton浣滅敤鍩熷拰GOF璁捐妯″紡涓殑鍗曚緥鏄畬鍏ㄤ笉鍚岀殑錛屽崟渚嬭璁℃ā寮忚〃紺轟竴涓狢lassLoader涓彧鏈変竴涓猚lass瀛樺湪錛岃岃繖閲岀殑singleton鍒欒〃紺轟竴涓鍣ㄥ搴斾竴涓猙ean錛屼篃灝辨槸璇村綋涓涓猙ean琚爣璇嗕負singleton鏃跺欙紝spring鐨処OC瀹瑰櫒涓彧浼氬瓨鍦ㄤ竴涓bean銆?/p>

閰嶇疆瀹炰緥錛?/p>

            

<bean id="role" class="spring.chapter2.maryGame.Role" scope="singleton"/>

鎴栬?/p>

            

<bean id="role" class="spring.chapter2.maryGame.Role" singleton="true"/>

2銆乸rototype

prototype浣滅敤鍩熼儴緗茬殑bean錛屾瘡涓嬈¤姹傦紙灝嗗叾娉ㄥ叆鍒板彟涓涓猙ean涓紝鎴栬呬互紼嬪簭鐨勬柟寮忚皟鐢ㄥ鍣ㄧ殑getBean()鏂規硶錛夐兘浼氫駭鐢熶竴涓柊鐨刡ean瀹炰緥錛岀浉褰撲簬涓涓猲ew鐨勬搷浣滐紝瀵逛簬prototype浣滅敤鍩熺殑bean錛屾湁涓鐐歸潪甯擱噸瑕侊紝閭e氨鏄疭pring涓嶈兘瀵逛竴涓猵rototype bean鐨勬暣涓敓鍛藉懆鏈熻礋璐o紝瀹瑰櫒鍦ㄥ垵濮嬪寲銆侀厤緗佽楗版垨鑰呮槸瑁呴厤瀹屼竴涓猵rototype瀹炰緥鍚庯紝灝嗗畠浜ょ粰瀹㈡埛绔紝闅忓悗灝卞璇rototype瀹炰緥涓嶉椈涓嶉棶浜嗐備笉綆′綍縐嶄綔鐢ㄥ煙錛屽鍣ㄩ兘浼氳皟鐢ㄦ墍鏈夊璞$殑鍒濆鍖栫敓鍛藉懆鏈熷洖璋冩柟娉曪紝鑰屽prototype鑰岃█錛屼換浣曢厤緗ソ鐨勬瀽鏋勭敓鍛藉懆鏈熷洖璋冩柟娉曢兘灝嗕笉浼氳璋冪敤銆傛竻闄rototype浣滅敤鍩熺殑瀵硅薄騫墮噴鏀句換浣昿rototype bean鎵鎸佹湁鐨勬槀璐佃祫婧愶紝閮芥槸瀹㈡埛绔唬鐮佺殑鑱岃矗銆傦紙璁㏒pring瀹瑰櫒閲婃斁琚玸ingleton浣滅敤鍩焍ean鍗犵敤璧勬簮鐨勪竴縐嶅彲琛屾柟寮忔槸錛岄氳繃浣跨敤bean鐨勫悗緗鐞嗗櫒錛岃澶勭悊鍣ㄦ寔鏈夎琚竻闄ょ殑bean鐨勫紩鐢ㄣ傦級

閰嶇疆瀹炰緥錛?/p>

            

<bean id="role" class="spring.chapter2.maryGame.Role" scope="prototype"/>

鎴栬?/p>

            

<beanid="role" class="spring.chapter2.maryGame.Role" singleton="false"/>

 
3銆乺equest

request琛ㄧず璇ラ拡瀵規瘡涓嬈TTP璇鋒眰閮戒細浜х敓涓涓柊鐨刡ean錛屽悓鏃惰bean浠呭湪褰撳墠HTTP request鍐呮湁鏁堬紝閰嶇疆瀹炰緥錛?/p>

request銆乻ession銆乬lobal session浣跨敤鐨勬椂鍊欙紝棣栧厛瑕佸湪鍒濆鍖杦eb鐨剋eb.xml涓仛濡備笅閰嶇疆錛?/p>

濡傛灉浣犱嬌鐢ㄧ殑鏄疭ervlet 2.4鍙婁互涓婄殑web瀹瑰櫒錛岄偅涔堜綘浠呴渶瑕佸湪web搴旂敤鐨刋ML澹版槑鏂囦歡web.xml涓鍔犱笅榪癈ontextListener鍗沖彲錛?/p>

            

<web-app>
...
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
...
</web-app>

濡傛灉鏄疭ervlet2.4浠ュ墠鐨剋eb瀹瑰櫒,閭d箞浣犺浣跨敤涓涓猨avax.servlet.Filter鐨勫疄鐜幫細

            

<web-app>
..
<filter>
<filter-name>requestContextFilter</filter-name>
<filter-class>org.springframework.web.filter.RequestContextFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>requestContextFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
...
</web-app>

鎺ョ潃鏃㈠彲浠ラ厤緗産ean鐨勪綔鐢ㄥ煙浜嗭細

            

<bean id="role" class="spring.chapter2.maryGame.Role" scope="request"/>


4銆乻ession

session浣滅敤鍩熻〃紺鴻閽堝姣忎竴嬈TTP璇鋒眰閮戒細浜х敓涓涓柊鐨刡ean錛屽悓鏃惰bean浠呭湪褰撳墠HTTP session鍐呮湁鏁堬紝閰嶇疆瀹炰緥錛?/p>

閰嶇疆瀹炰緥錛?/p>

鍜宺equest閰嶇疆瀹炰緥鐨勫墠鎻愪竴鏍鳳紝閰嶇疆濂絯eb鍚姩鏂囦歡灝卞彲浠ュ涓嬮厤緗細

            

<bean id="role" class="spring.chapter2.maryGame.Role" scope="session"/>

5銆乬lobal session

global session浣滅敤鍩熺被浼間簬鏍囧噯鐨凥TTP Session浣滅敤鍩燂紝涓嶈繃瀹冧粎浠呭湪鍩轟簬portlet鐨剋eb搴旂敤涓墠鏈夋剰涔夈侾ortlet瑙勮寖瀹氫箟浜嗗叏灞Session鐨勬蹇碉紝瀹冭鎵鏈夋瀯鎴愭煇涓猵ortlet web搴旂敤鐨勫悇縐嶄笉鍚岀殑portlet鎵鍏變韓銆傚湪global session浣滅敤鍩熶腑瀹氫箟鐨刡ean琚檺瀹氫簬鍏ㄥ眬portlet Session鐨勭敓鍛藉懆鏈熻寖鍥村唴銆傚鏋滀綘鍦╳eb涓嬌鐢╣lobal session浣滅敤鍩熸潵鏍囪瘑bean錛岄偅涔堬紝web浼氳嚜鍔ㄥ綋鎴恠ession綾誨瀷鏉ヤ嬌鐢ㄣ?/p>

閰嶇疆瀹炰緥錛?/p>

鍜宺equest閰嶇疆瀹炰緥鐨勫墠鎻愪竴鏍鳳紝閰嶇疆濂絯eb鍚姩鏂囦歡灝卞彲浠ュ涓嬮厤緗細

            

<bean id="role" class="spring.chapter2.maryGame.Role" scope="global session"/>

6銆佽嚜瀹氫箟bean瑁呴厤浣滅敤鍩?/strong>

鍦╯pring 2.0涓綔鐢ㄥ煙鏄彲浠ヤ換鎰忔墿灞曠殑錛屼綘鍙互鑷畾涔変綔鐢ㄥ煙錛岀敋鑷充綘涔熷彲浠ラ噸鏂板畾涔夊凡鏈夌殑浣滅敤鍩燂紙浣嗘槸浣犱笉鑳借鐩杝ingleton鍜宲rototype錛夛紝spring鐨勪綔鐢ㄥ煙鐢辨帴鍙rg.springframework.beans.factory.config.Scope鏉ュ畾涔夛紝鑷畾涔夎嚜宸辯殑浣滅敤鍩熷彧瑕佸疄鐜拌鎺ュ彛鍗沖彲錛屼笅闈㈢粰涓疄渚嬶細

鎴戜滑寤虹珛涓涓嚎紼嬬殑scope錛岃scope鍦ㄨ〃紺轟竴涓嚎紼嬩腑鏈夋晥錛屼唬鐮佸涓嬶細

            

publicclass MyScope implements Scope ...{
privatefinal ThreadLocal threadScope = new ThreadLocal() ...{
protected Object initialValue() ...{
returnnew HashMap();
}
};
public Object get(String name, ObjectFactory objectFactory) ...{
Map scope = (Map) threadScope.get();
Object object = scope.get(name);
if(object==null) ...{
object = objectFactory.getObject();
scope.put(name, object);
}
return object;
}
public Object remove(String name) ...{
Map scope = (Map) threadScope.get();
return scope.remove(name);
}
publicvoid registerDestructionCallback(String name, Runnable callback) ...{
}
public String getConversationId() ...{
// TODO Auto-generated method stub
returnnull;
}
}



娉細鏈枃鐨勫師鏂囨潵婧愪簬緗戠粶銆?/p>

agun 2008-06-06 14:30 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 国产真人无码作爱免费视频| 亚洲精品无码久久久| 亚洲乳大丰满中文字幕| 羞羞视频免费网站入口| 午夜一级免费视频| 色欲aⅴ亚洲情无码AV| 四虎永久免费网站免费观看| 国产美女亚洲精品久久久综合| 免费国产污网站在线观看不要卡| 国产极品粉嫩泬免费观看| 亚洲国产精品一区二区久久hs| 在线观看黄片免费入口不卡| 亚洲精品高清无码视频| 青青草无码免费一二三区| 亚洲色av性色在线观无码| 色偷偷噜噜噜亚洲男人| 91精品免费观看| 国产精品高清视亚洲精品| 色吊丝最新永久免费观看网站| 另类小说亚洲色图| 国产在线国偷精品产拍免费| 亚洲精品成a人在线观看☆| 日本h在线精品免费观看| 中文字幕亚洲综合小综合在线| 精品国产免费一区二区| 一级中文字幕乱码免费| 日韩在线a视频免费播放| 亚洲精品美女视频| 两个人看的www免费视频| 亚洲国产精品不卡在线电影| 国产成在线观看免费视频| 亚洲丁香色婷婷综合欲色啪| 日本特黄特色AAA大片免费| 亚洲va中文字幕无码久久不卡| 国产免费不卡视频| 亚洲综合精品一二三区在线| 中文字字幕在线高清免费电影| 日本久久久久亚洲中字幕| 国产福利免费观看| 久久青草免费91观看| 亚洲乱亚洲乱妇24p|