锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
鍘熺悊錛?br />
1.璇誨彇騫惰В鏋愰厤緗枃浠?br />
2.璇誨彇騫惰В鏋愭槧灝勪俊鎭紝鍒涘緩SessionFactory
3.鎵撳紑Sesssion
4.鍒涘緩浜嬪姟Transation
5.鎸佷箙鍖栨搷浣?br />
6.鎻愪氦浜嬪姟
7.鍏抽棴Session
8.鍏抽棴SesstionFactory
涓轟粈涔堣鐢細
1. 瀵笿DBC璁塊棶鏁版嵁搴撶殑浠g爜鍋氫簡灝佽錛屽ぇ澶х畝鍖栦簡鏁版嵁璁塊棶灞傜箒鐞愮殑閲嶅鎬т唬鐮併?/p>
2. Hibernate鏄竴涓熀浜嶫DBC鐨勪富嫻佹寔涔呭寲妗嗘灦錛屾槸涓涓紭縐鐨凮RM瀹炵幇銆備粬寰堝ぇ紼嬪害鐨勭畝鍖朌AO灞傜殑緙栫爜宸ヤ綔
3. hibernate浣跨敤Java鍙嶅皠鏈哄埗錛岃屼笉鏄瓧鑺傜爜澧炲己紼嬪簭鏉ュ疄鐜伴忔槑鎬с?/p>
4. hibernate鐨勬ц兘闈炲父濂斤紝鍥犱負瀹冩槸涓交閲忕駭妗嗘灦銆傛槧灝勭殑鐏墊椿鎬у緢鍑鴻壊銆傚畠鏀寔鍚勭鍏崇郴鏁版嵁搴擄紝浠庝竴瀵逛竴鍒板瀵瑰鐨勫悇縐嶅鏉傚叧緋匯?/p>
2錛?Hibernate鏄浣曞歡榪熷姞杞?
1. Hibernate2寤惰繜鍔犺澆瀹炵幇錛歛)瀹炰綋瀵硅薄 b)闆嗗悎錛圕ollection錛?/p>
2. Hibernate3 鎻愪緵浜嗗睘鎬х殑寤惰繜鍔犺澆鍔熻兘
褰揌ibernate鍦ㄦ煡璇㈡暟鎹殑鏃跺欙紝鏁版嵁騫舵病鏈夊瓨鍦ㄤ笌鍐呭瓨涓紝褰撶▼搴忕湡姝e鏁版嵁鐨勬搷浣滄椂錛屽璞℃墠瀛樺湪涓庡唴瀛樹腑錛屽氨瀹炵幇浜嗗歡榪熷姞杞斤紝浠栬妭鐪佷簡鏈嶅姟鍣ㄧ殑鍐呭瓨寮閿錛屼粠鑰屾彁楂樹簡鏈嶅姟鍣ㄧ殑鎬ц兘銆?/p>
3錛嶩ibernate涓庢牱瀹炵幇綾諱箣闂寸殑鍏崇郴?(濡傦細涓瀵瑰銆佸瀵瑰鐨勫叧緋?
綾諱笌綾諱箣闂寸殑鍏崇郴涓昏浣撶幇鍦ㄨ〃涓庤〃涔嬮棿鐨勫叧緋昏繘琛屾搷浣滐紝瀹冧滑閮藉競瀵瑰璞¤繘琛屾搷浣滐紝鎴戜滑紼嬪簭涓妸鎵鏈夌殑琛ㄤ笌綾婚兘鏄犲皠鍦ㄤ竴璧鳳紝瀹冧滑閫氳繃閰嶇疆鏂囦歡涓殑many-to-one銆乷ne-to-many銆乵any-to-many銆?/p>
4錛?璇翠笅Hibernate鐨勭紦瀛樻満鍒?/p>
1. 鍐呴儴緙撳瓨瀛樺湪Hibernate涓張鍙竴綰х紦瀛橈紝灞炰簬搴旂敤浜嬬墿綰х紦瀛?/p>
2. 浜岀駭緙撳瓨錛?br />
a) 搴旂敤鍙婄紦瀛?br />
b) 鍒嗗竷寮忕紦瀛?br />
鏉′歡錛氭暟鎹笉浼氳絎笁鏂逛慨鏀廣佹暟鎹ぇ灝忓湪鍙帴鍙楄寖鍥淬佹暟鎹洿鏂伴鐜囦綆銆佸悓涓鏁版嵁琚郴緇熼綣佷嬌鐢ㄣ侀潪 鍏抽敭鏁版嵁
c) 絎笁鏂圭紦瀛樼殑瀹炵幇
5錛?Hibernate鐨勬煡璇㈡柟寮?br />
Sql銆丆riteria,object comptosition
Hql錛?br />
1銆?灞炴ф煡璇?br />
2銆?鍙傛暟鏌ヨ銆佸懡鍚嶅弬鏁版煡璇?br />
3銆?鍏寵仈鏌ヨ
4銆?鍒嗛〉鏌ヨ
5銆?緇熻鍑芥暟
6錛?濡備綍浼樺寲Hibernate錛?br />
1.浣跨敤鍙屽悜涓瀵瑰鍏寵仈錛屼笉浣跨敤鍗曞悜涓瀵瑰
2.鐏墊椿浣跨敤鍗曞悜涓瀵瑰鍏寵仈
3.涓嶇敤涓瀵逛竴錛岀敤澶氬涓鍙栦唬
4.閰嶇疆瀵硅薄緙撳瓨錛屼笉浣跨敤闆嗗悎緙撳瓨
5.涓瀵瑰闆嗗悎浣跨敤Bag,澶氬澶氶泦鍚堜嬌鐢⊿et
6. 緇ф壙綾諱嬌鐢ㄦ樉寮忓鎬?br />
7. 琛ㄥ瓧孌佃灝戯紝琛ㄥ叧鑱斾笉瑕佹曞錛屾湁浜岀駭緙撳瓨鎾戣叞
7錛?Struts宸ヤ綔鏈哄埗錛熶負浠涔堣浣跨敤Struts錛?br />
宸ヤ綔鏈哄埗錛?br />
Struts鐨勫伐浣滄祦紼?
鍦╳eb搴旂敤鍚姩鏃跺氨浼氬姞杞藉垵濮嬪寲ActionServlet,ActionServlet浠?br />
struts-config.xml鏂囦歡涓鍙栭厤緗俊鎭?鎶婂畠浠瓨鏀懼埌鍚勭閰嶇疆瀵硅薄
褰揂ctionServlet鎺ユ敹鍒頒竴涓鎴瘋姹傛椂,灝嗘墽琛屽涓嬫祦紼?
-(1)媯绱㈠拰鐢ㄦ埛璇鋒眰鍖歸厤鐨凙ctionMapping瀹炰緥,濡傛灉涓嶅瓨鍦?灝辮繑鍥炶姹傝礬寰勬棤鏁堜俊鎭?
-(2)濡傛灉ActionForm瀹炰緥涓嶅瓨鍦?灝卞垱寤轟竴涓狝ctionForm瀵硅薄,鎶婂鎴鋒彁浜ょ殑琛ㄥ崟鏁版嵁淇濆瓨鍒癆ctionForm瀵硅薄涓?
-(3)鏍規嵁閰嶇疆淇℃伅鍐沖畾鏄惁闇瑕佽〃鍗曢獙璇?濡傛灉闇瑕侀獙璇?灝辮皟鐢ˋctionForm鐨剉alidate()鏂規硶;
-(4)濡傛灉ActionForm鐨剉alidate()鏂規硶榪斿洖null鎴栬繑鍥炰竴涓笉鍖呭惈ActionMessage鐨凙ctuibErrors瀵硅薄, 灝辮〃紺鴻〃鍗曢獙璇佹垚鍔?
-(5)ActionServlet鏍規嵁ActionMapping鎵鍖呭惈鐨勬槧灝勪俊鎭喅瀹氬皢璇鋒眰杞彂緇欏摢涓狝ction,濡傛灉鐩稿簲鐨?Action瀹炰緥涓嶅瓨鍦?灝卞厛鍒涘緩榪欎釜瀹炰緥,鐒跺悗璋冪敤Action鐨別xecute()鏂規硶;
-(6)Action鐨別xecute()鏂規硶榪斿洖涓涓狝ctionForward瀵硅薄,ActionServlet鍦ㄦ妸瀹㈡埛璇鋒眰杞彂緇?ActionForward瀵硅薄鎸囧悜鐨凧SP緇勪歡;
-(7)ActionForward瀵硅薄鎸囧悜JSP緇勪歡鐢熸垚鍔ㄦ佺綉欏?榪斿洖緇欏鎴?
涓轟粈涔堣鐢細
JSP銆丼ervlet銆丣avaBean鎶鏈殑鍑虹幇緇欐垜浠瀯寤哄己澶х殑浼佷笟搴旂敤緋葷粺鎻愪緵浜嗗彲鑳姐備絾鐢ㄨ繖浜涙妧鏈瀯寤虹殑緋葷粺闈炲父鐨勭箒涔憋紝鎵浠ュ湪姝や箣涓婏紝鎴戜滑闇瑕佷竴涓鍒欍佷竴涓妸榪欎簺鎶鏈粍緇囪搗鏉ョ殑瑙勫垯錛岃繖灝辨槸妗嗘灦錛孲truts渚垮簲榪愯岀敓銆?/p>
鍩轟簬Struts寮鍙戠殑搴旂敤鐢?綾葷粍浠舵瀯鎴愶細鎺у埗鍣ㄧ粍浠躲佹ā鍨嬬粍浠躲佽鍥劇粍浠?/p>
8錛?Struts鐨剉alidate妗嗘灦鏄浣曢獙璇佺殑錛?br /> 鍦╯truts閰嶇疆鏂囦歡涓厤緗叿浣撶殑閿欒鎻愮ず錛屽啀鍦‵ormBean涓殑validate()鏂規硶鍏蜂綋璋冪敤銆?/p>
9錛?璇翠笅Struts鐨勮璁℃ā寮?br /> MVC妯″紡: web搴旂敤紼嬪簭鍚姩鏃跺氨浼氬姞杞藉茍鍒濆鍖朅ctionServler銆傜敤鎴鋒彁浜よ〃鍗曟椂錛屼竴涓厤緗ソ鐨凙ctionForm瀵硅薄琚垱寤猴紝騫惰濉叆琛ㄥ崟鐩稿簲鐨勬暟鎹紝ActionServler鏍規嵁Struts-config.xml鏂囦歡閰嶇疆濂界殑璁劇疆鍐沖畾鏄惁闇瑕佽〃鍗曢獙璇侊紝濡傛灉闇瑕佸氨璋冪敤ActionForm鐨?Validate錛堬級楠岃瘉鍚庨夋嫨灝嗚姹傚彂閫佸埌鍝釜Action錛屽鏋淎ction涓嶅瓨鍦紝ActionServlet浼氬厛鍒涘緩榪欎釜瀵硅薄錛岀劧鍚庤皟鐢?Action鐨別xecute錛堬級鏂規硶銆侲xecute錛堬級浠嶢ctionForm瀵硅薄涓幏鍙栨暟鎹紝瀹屾垚涓氬姟閫昏緫錛岃繑鍥炰竴涓狝ctionForward瀵硅薄錛孉ctionServlet鍐嶆妸瀹㈡埛璇鋒眰杞彂緇橝ctionForward瀵硅薄鎸囧畾鐨刯sp緇勪歡錛孉ctionForward瀵硅薄鎸囧畾鐨刯sp鐢熸垚鍔ㄦ佺殑緗戦〉錛岃繑鍥炵粰瀹㈡埛銆?/p>
10錛?spring宸ヤ綔鏈哄埗鍙婁負浠涔堣鐢?
1.spring mvc璇鋒墍鏈夌殑璇鋒眰閮芥彁浜ょ粰DispatcherServlet,瀹冧細濮旀墭搴旂敤緋葷粺鐨勫叾浠栨ā鍧楄礋璐h礋璐e璇鋒眰榪涜鐪熸鐨勫鐞嗗伐浣溿?br />
2.DispatcherServlet鏌ヨ涓涓垨澶氫釜HandlerMapping,鎵懼埌澶勭悊璇鋒眰鐨凜ontroller.
3.DispatcherServlet璇瘋姹傛彁浜ゅ埌鐩爣Controller
4.Controller榪涜涓氬姟閫昏緫澶勭悊鍚庯紝浼氳繑鍥炰竴涓狹odelAndView
5.Dispathcher鏌ヨ涓涓垨澶氫釜ViewResolver瑙嗗浘瑙f瀽鍣?鎵懼埌ModelAndView瀵硅薄鎸囧畾鐨勮鍥懼璞?br />
6.瑙嗗浘瀵硅薄璐熻矗娓叉煋榪斿洖緇欏鎴風銆?/p>
涓轟粈涔堢敤錛?br /> {AOP 璁╁紑鍙戜漢鍛樺彲浠ュ垱寤洪潪琛屼負鎬х殑鍏蟲敞鐐癸紝縐頒負妯垏鍏蟲敞鐐癸紝騫跺皢瀹冧滑鎻掑叆鍒板簲鐢ㄧ▼搴忎唬鐮佷腑銆備嬌鐢?AOP 鍚庯紝鍏叡鏈嶅姟 錛堟瘮濡傛棩蹇椼佹寔涔呮с佷簨鍔$瓑錛夊氨鍙互鍒嗚В鎴愭柟闈㈠茍搴旂敤鍒板煙瀵硅薄涓婏紝鍚屾椂涓嶄細澧炲姞鍩熷璞$殑瀵硅薄妯″瀷鐨勫鏉傛с?br /> IOC 鍏佽鍒涘緩涓涓彲浠ユ瀯閫犲璞$殑搴旂敤鐜錛岀劧鍚庡悜榪欎簺瀵硅薄浼犻掑畠浠殑鍗忎綔瀵硅薄銆傛濡傚崟璇?鍊掔疆 鎵琛ㄦ槑鐨勶紝IOC 灝卞儚鍙?榪囨潵鐨?JNDI銆傛病鏈変嬌鐢ㄤ竴鍫嗘娊璞″伐鍘傘佹湇鍔″畾浣嶅櫒銆佸崟鍏冪礌錛坰ingleton錛夊拰鐩存帴鏋勯狅紙straight construction錛夛紝姣忎竴涓璞¢兘鏄敤鍏跺崗浣滃璞℃瀯閫犵殑銆傚洜姝ゆ槸鐢卞鍣ㄧ鐞嗗崗浣滃璞★紙collaborator錛夈?br /> Spring鍗充嬌涓涓狝OP妗嗘灦錛屼篃鏄竴IOC瀹瑰櫒銆?Spring 鏈濂界殑鍦版柟鏄畠鏈夊姪浜庢偍鏇挎崲瀵硅薄銆傛湁浜?Spring錛屽彧瑕佺敤 JavaBean 灞炴у拰閰嶇疆鏂囦歡鍔犲叆渚濊禆鎬э紙鍗忎綔瀵硅薄錛夈傜劧鍚庡彲浠ュ緢瀹規槗鍦板湪闇瑕佹椂鏇挎崲鍏鋒湁綾諱技鎺ュ彛鐨勫崗浣滃璞°倉
Spring 妗嗘灦鏄竴涓垎灞傛灦鏋勶紝鐢?7 涓畾涔夎壇濂界殑妯″潡緇勬垚銆係pring 妯″潡鏋勫緩鍦ㄦ牳蹇冨鍣ㄤ箣涓婏紝鏍稿績瀹瑰櫒瀹氫箟浜嗗垱寤恒侀厤緗拰綆$悊 bean 鐨勬柟寮忥紝濡傚浘 1 鎵紺恒?/p>
緇勬垚 Spring 妗嗘灦鐨勬瘡涓ā鍧楋紙鎴栫粍浠訛級閮藉彲浠ュ崟鐙瓨鍦紝鎴栬呬笌鍏朵粬涓涓垨澶氫釜妯″潡鑱斿悎瀹炵幇銆傛瘡涓ā鍧楃殑鍔熻兘濡備笅錛?/p>
鈽?鏍稿績瀹瑰櫒錛氭牳蹇冨鍣ㄦ彁渚?Spring 妗嗘灦鐨勫熀鏈姛鑳姐傛牳蹇冨鍣ㄧ殑涓昏緇勪歡鏄?BeanFactory錛屽畠鏄伐鍘傛ā寮忕殑瀹炵幇銆侭eanFactory 浣跨敤鎺у埗鍙嶈漿 錛圛OC錛夋ā寮忓皢搴旂敤紼嬪簭鐨勯厤緗拰渚濊禆鎬ц鑼冧笌瀹為檯鐨勫簲鐢ㄧ▼搴忎唬鐮佸垎寮銆?/p>
鈽?Spring 涓婁笅鏂囷細Spring 涓婁笅鏂囨槸涓涓厤緗枃浠訛紝鍚?Spring 妗嗘灦鎻愪緵涓婁笅鏂囦俊鎭係pring 涓婁笅鏂囧寘鎷紒涓氭湇鍔★紝渚嬪 JNDI銆丒JB銆佺數瀛愰偖浠躲佸浗闄呭寲銆佹牎楠屽拰璋冨害鍔熻兘銆?/p>
鈽?Spring AOP錛氶氳繃閰嶇疆綆$悊鐗規э紝Spring AOP 妯″潡鐩存帴灝嗛潰鍚戞柟闈㈢殑緙栫▼鍔熻兘闆嗘垚鍒頒簡 Spring 妗嗘灦涓傛墍浠ワ紝鍙互寰堝鏄撳湴浣?Spring 妗嗘灦綆$悊鐨勪換浣曞璞℃敮鎸?AOP銆係pring AOP 妯″潡涓哄熀浜?Spring 鐨勫簲鐢ㄧ▼搴忎腑鐨勫璞℃彁渚涗簡浜嬪姟綆$悊鏈嶅姟銆傞氳繃浣跨敤 Spring AOP錛屼笉鐢ㄤ緷璧?EJB 緇勪歡錛屽氨鍙互灝嗗0鏄庢т簨鍔$鐞嗛泦鎴愬埌搴旂敤紼嬪簭涓?/p>
鈽?Spring DAO錛欽DBC DAO 鎶借薄灞傛彁渚涗簡鏈夋剰涔夌殑寮傚父灞傛緇撴瀯錛屽彲鐢ㄨ緇撴瀯鏉ョ鐞嗗紓甯稿鐞嗗拰涓嶅悓鏁版嵁搴撲緵搴斿晢鎶涘嚭鐨勯敊璇秷鎭傚紓甯稿眰嬈$粨鏋勭畝鍖栦簡閿欒澶勭悊錛屽茍涓旀瀬澶у湴闄嶄綆浜嗛渶瑕佺紪鍐欑殑寮傚父浠g爜鏁伴噺錛堜緥濡傛墦寮鍜屽叧闂繛鎺ワ級銆係pring DAO 鐨勯潰鍚?JDBC 鐨勫紓甯擱伒浠庨氱敤鐨?DAO 寮傚父灞傛緇撴瀯銆?/p>
鈽?Spring ORM錛歋pring 妗嗘灦鎻掑叆浜嗚嫢騫蹭釜 ORM 妗嗘灦錛屼粠鑰屾彁渚涗簡 ORM 鐨勫璞″叧緋誨伐鍏鳳紝鍏朵腑鍖呮嫭 JDO銆丠ibernate 鍜?iBatis SQL Map銆傛墍鏈夎繖浜涢兘閬典粠 Spring 鐨勯氱敤浜嬪姟鍜?DAO 寮傚父灞傛緇撴瀯銆?/p>
鈽?Spring Web 妯″潡錛歐eb 涓婁笅鏂囨ā鍧楀緩绔嬪湪搴旂敤紼嬪簭涓婁笅鏂囨ā鍧椾箣涓婏紝涓哄熀浜?Web 鐨勫簲鐢ㄧ▼搴忔彁渚涗簡涓婁笅鏂囥傛墍浠ワ紝Spring 妗嗘灦鏀寔涓?Jakarta Struts 鐨勯泦鎴愩俉eb 妯″潡榪樼畝鍖栦簡澶勭悊澶氶儴鍒嗚姹備互鍙婂皢璇鋒眰鍙傛暟緇戝畾鍒板煙瀵硅薄鐨勫伐浣溿?/p>
鈽?Spring MVC 妗嗘灦錛歁VC 妗嗘灦鏄竴涓叏鍔熻兘鐨勬瀯寤?Web 搴旂敤紼嬪簭鐨?MVC 瀹炵幇銆傞氳繃絳栫暐鎺ュ彛錛孧VC 妗嗘灦鍙樻垚涓洪珮搴﹀彲閰嶇疆鐨勶紝MVC 瀹圭撼浜嗗ぇ閲忚鍥炬妧鏈紝鍏朵腑鍖呮嫭 JSP銆乂elocity銆乀iles銆乮Text 鍜?POI銆?/p>
Spring 妗嗘灦鐨勫姛鑳藉彲浠ョ敤鍦ㄤ換浣?J2EE 鏈嶅姟鍣ㄤ腑錛屽ぇ澶氭暟鍔熻兘涔熼傜敤浜庝笉鍙楃鐞嗙殑鐜銆係pring 鐨勬牳蹇冭鐐規槸錛氭敮鎸佷笉緇戝畾鍒扮壒瀹?J2EE 鏈嶅姟鐨勫彲閲嶇敤涓氬姟鍜屾暟鎹闂璞°傛鏃犵枒闂紝榪欐牱鐨勫璞″彲浠ュ湪涓嶅悓 J2EE 鐜 錛圵eb 鎴?EJB錛夈佺嫭绔嬪簲鐢ㄧ▼搴忋佹祴璇曠幆澧冧箣闂撮噸鐢ㄣ?/p>
IOC 鍜?AOP
鎺у埗鍙嶈漿妯″紡錛堜篃縐頒綔渚濊禆鎬т粙鍏ワ級鐨勫熀鏈蹇墊槸錛氫笉鍒涘緩瀵硅薄錛屼絾鏄弿榪板垱寤哄畠浠殑鏂瑰紡銆傚湪浠g爜涓笉鐩存帴涓庡璞″拰鏈嶅姟榪炴帴錛屼絾鍦ㄩ厤緗枃浠朵腑鎻忚堪鍝竴涓粍浠墮渶瑕佸摢涓欏規湇鍔°傚鍣紙鍦?Spring 妗嗘灦涓槸 IOC 瀹瑰櫒錛?璐熻矗灝嗚繖浜涜仈緋誨湪涓璧楓?/p>
鍦ㄥ吀鍨嬬殑 IOC 鍦烘櫙涓紝瀹瑰櫒鍒涘緩浜嗘墍鏈夊璞★紝騫惰緗繀瑕佺殑灞炴у皢瀹冧滑榪炴帴鍦ㄤ竴璧鳳紝鍐沖畾浠涔堟椂闂磋皟鐢ㄦ柟娉曘備笅琛ㄥ垪鍑轟簡 IOC 鐨勪竴涓疄鐜版ā寮忋?/p>
Spring 妗嗘灦鐨?IOC 瀹瑰櫒閲囩敤綾誨瀷 2 鍜岀被鍨? 瀹炵幇銆?/p>
闈㈠悜鏂歸潰鐨勭紪紼?/p>
闈㈠悜鏂歸潰鐨勭紪紼嬶紝鍗?AOP錛屾槸涓縐嶇紪紼嬫妧鏈紝瀹冨厑璁哥▼搴忓憳瀵規í鍒囧叧娉ㄧ偣鎴栨í鍒囧吀鍨嬬殑鑱岃矗鍒嗙晫綰跨殑琛屼負錛堜緥濡傛棩蹇楀拰浜嬪姟綆$悊錛夎繘琛屾ā鍧楀寲銆侫OP 鐨勬牳蹇冩瀯閫犳槸鏂歸潰錛屽畠灝嗛偅浜涘獎鍝嶅涓被鐨勮涓哄皝瑁呭埌鍙噸鐢ㄧ殑妯″潡涓?/p>
AOP 鍜?IOC 鏄ˉ鍏呮х殑鎶鏈紝瀹冧滑閮借繍鐢ㄦā鍧楀寲鏂瑰紡瑙e喅浼佷笟搴旂敤紼嬪簭寮鍙戜腑鐨勫鏉傞棶棰樸傚湪鍏稿瀷鐨勯潰鍚戝璞″紑鍙戞柟寮忎腑錛屽彲鑳借灝嗘棩蹇楄褰曡鍙ユ斁鍦ㄦ墍鏈夋柟娉曞拰 Java 綾諱腑鎵嶈兘瀹炵幇鏃ュ織鍔熻兘銆傚湪 AOP 鏂瑰紡涓紝鍙互鍙嶈繃鏉ュ皢鏃ュ織鏈嶅姟妯″潡鍖栵紝騫朵互澹版槑鐨勬柟寮忓皢瀹冧滑搴旂敤鍒伴渶瑕佹棩蹇楃殑緇勪歡涓娿傚綋鐒訛紝浼樺娍灝辨槸 Java 綾諱笉闇瑕佺煡閬撴棩蹇楁湇鍔$殑瀛樺湪錛屼篃涓嶉渶瑕佽冭檻鐩稿叧鐨勪唬鐮併傛墍浠ワ紝鐢?Spring AOP 緙栧啓鐨勫簲鐢ㄧ▼搴忎唬鐮佹槸鏉炬暎鑰﹀悎鐨勩?/p>
AOP 鐨勫姛鑳藉畬鍏ㄩ泦鎴愬埌浜?Spring 浜嬪姟綆$悊銆佹棩蹇楀拰鍏朵粬鍚勭鐗規х殑涓婁笅鏂囦腑銆?/p>
IOC 瀹瑰櫒
Spring 璁捐鐨勬牳蹇冩槸 org.springframework.beans 鍖咃紝瀹冪殑璁捐鐩爣鏄笌 JavaBean 緇勪歡涓璧蜂嬌鐢ㄣ傝繖涓寘閫氬父涓嶆槸鐢辯敤鎴風洿鎺ヤ嬌鐢紝鑰屾槸鐢辨湇鍔″櫒灝嗗叾鐢ㄤ綔鍏朵粬澶氭暟鍔熻兘鐨勫簳灞備腑浠嬨備笅涓涓渶楂樼駭鎶借薄鏄?BeanFactory 鎺ュ彛錛屽畠鏄伐鍘傝璁℃ā寮忕殑瀹炵幇錛屽厑璁擱氳繃鍚嶇О鍒涘緩鍜屾绱㈠璞°侭eanFactory 涔熷彲浠ョ鐞嗗璞′箣闂寸殑鍏崇郴銆?/p>
BeanFactory 鏀寔涓や釜瀵硅薄妯″瀷銆?/p>
鈻?鍗曟?妯″瀷鎻愪緵浜嗗叿鏈夌壒瀹氬悕縐扮殑瀵硅薄鐨勫叡浜疄渚嬶紝鍙互鍦ㄦ煡璇㈡椂瀵瑰叾榪涜媯绱€係ingleton 鏄粯璁ょ殑涔熸槸鏈甯哥敤鐨勫璞℃ā鍨嬨傚浜庢棤鐘舵佹湇鍔″璞″緢鐞嗘兂銆?/p>
鈻?鍘熷瀷 妯″瀷紜繚姣忔媯绱㈤兘浼氬垱寤哄崟鐙殑瀵硅薄銆傚湪姣忎釜鐢ㄦ埛閮介渶瑕佽嚜宸辯殑瀵硅薄鏃訛紝鍘熷瀷妯″瀷鏈閫傚悎銆?/p>
bean 宸ュ巶鐨勬蹇墊槸 Spring 浣滀負 IOC 瀹瑰櫒鐨勫熀紜銆侷OC 灝嗗鐞嗕簨鎯呯殑璐d換浠庡簲鐢ㄧ▼搴忎唬鐮佽漿縐誨埌妗嗘灦銆傛濡傛垜灝嗗湪涓嬩竴涓ず渚嬩腑婕旂ず鐨勯偅鏍鳳紝Spring 妗嗘灦浣跨敤 JavaBean 灞炴у拰閰嶇疆鏁版嵁鏉ユ寚鍑哄繀欏昏緗殑渚濊禆鍏崇郴銆?/p>
BeanFactory 鎺ュ彛
鍥犱負 org.springframework.beans.factory.BeanFactory 鏄竴涓畝鍗曟帴鍙o紝鎵浠ュ彲浠ラ拡瀵瑰悇縐嶅簳灞傚瓨鍌ㄦ柟娉曞疄鐜般傛渶甯哥敤鐨?BeanFactory 瀹氫箟鏄?XmlBeanFactory錛屽畠鏍規嵁 XML 鏂囦歡涓殑瀹氫箟瑁呭叆 bean錛屽娓呭崟 1 鎵紺恒?/p>
娓呭崟 1. XmlBeanFactory
鍦?XML 鏂囦歡涓畾涔夌殑 Bean 鏄娑堟瀬鍔犺澆鐨勶紝榪欐剰鍛沖湪闇瑕?bean 涔嬪墠錛宐ean 鏈韓涓嶄細琚垵濮嬪寲銆傝浠?BeanFactory 媯绱?bean錛屽彧闇璋冪敤 getBean() 鏂規硶錛屼紶鍏ュ皢瑕佹绱㈢殑 bean 鐨勫悕縐板嵆鍙紝濡傛竻鍗?2 鎵紺恒?/p>
娓呭崟 2. getBean()
姣忎釜 bean 鐨勫畾涔夐兘鍙互鏄?POJO 錛堢敤綾誨悕鍜?JavaBean 鍒濆鍖栧睘鎬у畾涔夛級 鎴?FactoryBean銆侳actoryBean 鎺ュ彛涓轟嬌鐢?Spring 妗嗘灦鏋勫緩鐨勫簲鐢ㄧ▼搴忔坊鍔犱簡涓涓棿鎺ョ殑綰у埆銆?/p>
IOC 紺轟緥
鐞嗚В鎺у埗鍙嶈漿鏈綆鍗曠殑鏂瑰紡灝辨槸鐪嬪畠鐨勫疄闄呭簲鐢ㄣ傚湪瀵圭敱涓夐儴鍒嗙粍鎴愮殑 Spring 緋誨垪 鐨勭 1 閮ㄥ垎榪涜鎬葷粨鏃訛紝鎴戜嬌鐢ㄤ簡涓涓ず渚嬶紝婕旂ず浜嗗浣曢氳繃 Spring IOC 瀹瑰櫒娉ㄥ叆搴旂敤紼嬪簭鐨勪緷璧栧叧緋伙紙鑰屼笉鏄皢瀹冧滑鏋勫緩榪涙潵錛夈?/p>
鎴戠敤寮鍚湪綰夸俊鐢ㄥ笎鎴風殑鐢ㄤ緥浣滀負璧風偣銆傚浜庤瀹炵幇錛屽紑鍚俊鐢ㄥ笎鎴瘋姹傜敤鎴蜂笌浠ヤ笅鏈嶅姟榪涜浜や簰錛?/p>
鈽?淇$敤綰у埆璇勫畾鏈嶅姟錛屾煡璇㈢敤鎴風殑淇$敤鍘嗗彶淇℃伅銆?/p>
鈽?榪滅▼淇℃伅閾炬帴鏈嶅姟錛屾彃鍏ュ鎴蜂俊鎭紝灝嗗鎴蜂俊鎭笌淇$敤鍗″拰閾惰淇℃伅榪炴帴璧鋒潵錛屼互榪涜鑷姩鍊熻錛堝鏋滈渶瑕佺殑璇濓級銆?/p>
鈽?鐢靛瓙閭歡鏈嶅姟錛屽悜鐢ㄦ埛鍙戦佹湁鍏充俊鐢ㄥ崱鐘舵佺殑鐢靛瓙閭歡銆?/p>
涓変釜鎺ュ彛
瀵逛簬榪欎釜紺轟緥錛屾垜鍋囪鏈嶅姟宸茬粡瀛樺湪錛岀悊鎯崇殑鎯呭喌鏄敤鏉炬暎鑰﹀悎鐨勬柟寮忔妸瀹冧滑闆嗘垚鍦ㄤ竴璧楓備互涓嬫竻鍗曟樉紺轟簡涓変釜鏈嶅姟鐨勫簲鐢ㄧ▼搴忔帴鍙c?/p>
娓呭崟 3. CreditRatingInterface
娓呭崟 3 鎵紺虹殑淇$敤綰у埆璇勫畾鎺ュ彛鎻愪緵浜嗕俊鐢ㄥ巻鍙蹭俊鎭傚畠闇瑕佷竴涓寘鍚鎴蜂俊鎭殑 Customer 瀵硅薄銆傝鎺ュ彛鐨勫疄鐜版槸鐢?CreditRating 綾繪彁渚涚殑銆?/p>
娓呭崟 4. CreditLinkingInterface
淇$敤閾炬帴鎺ュ彛灝嗕俊鐢ㄥ巻鍙蹭俊鎭笌閾惰淇℃伅錛堝鏋滈渶瑕佺殑璇濓級榪炴帴鍦ㄤ竴璧鳳紝騫舵彃鍏ョ敤鎴風殑淇$敤鍗′俊鎭備俊鐢ㄩ摼鎺ユ帴鍙f槸涓涓繙紼嬫湇鍔★紝瀹冪殑鏌ヨ鏄氳繃 getUrl() 鏂規硶榪涜鐨勩俇RL 鐢?Spring 妗嗘灦鐨?bean 閰嶇疆鏈哄埗璁劇疆錛屾垜紼嶅悗浼氳璁哄畠銆傝鎺ュ彛鐨勫疄鐜版槸鐢?CreditLinking 綾繪彁渚涚殑銆?/p>
娓呭崟 5. EmailInterface
浜屻亀eb緙栫▼
1銆乭tml 錛宩s錛宎jax錛宑ss
2銆乯sp
3銆乻ervlet
4銆乯stl
5銆丒L
涓夈佸紑婧愭鏋?br />
1銆佽〃紺哄眰錛坰tructs錛宩sf銆傘傘傦級
2銆佸獎灝勫眰錛坔ibanate銆乮batis錛?br />
3銆佸鍣ㄧ鐞嗗眰錛坰pring錛?/p>
java闆嗗悎緙栫▼
涓銆佺嚎鎬х粨鏋?br />
1銆丩ist(ArryList銆愭暟緇勩戙丩inkedList銆愰摼琛ㄣ?
2銆丼et(HashSet銆愭暎鍒楅泦鍚堛戙乀reeSet銆愭帓搴忋?
浜屻侀潪綰挎х粨鏋?br />
1銆乵ap(HashMap銆乀reeMap)
2銆丠ashTable(澶氱嚎紼?
鎬葷粨錛?br />
1銆佷笂婧犲瀷鐨勫畨鍏ㄦч珮錛屼笅婧犲瀷鐨勫畨鍏ㄦт綆
2銆佷竴鍒囧璞¢兘緇ф壙Object
3銆佹硾鍨嬶細娉涘瀷娉涙寚涓鍒囧璞★紝浣嗘槸娉涘瀷鐨勭己鐐瑰氨鏄お灞闄愮敤涓縐嶆寚瀹氱殑瀵硅薄
4銆侀泦鍚堢殑閬嶅巻錛岄泦鍚堝櫒閬嶅巻錛?br />
while(it.hashNext()){
it.next();
}
銆?0100910銆?/p>
涓銆侀潰鍚戝璞$紪紼?nbsp;
1.綾葷殑姒傚康
class鏄竴縐嶅璞$殑鍩烘湰綾?/p>
2.瀵硅薄鐨勬蹇?br />
鏄被鐨勪竴涓疄渚嬶紝 鐘舵佸拰琛屼負錛屽睘鎬у拰鏂規硶
3.瀵硅薄鐨勯氫俊錛氬璞′笌瀵硅薄涔嬮棿鐨勪竴縐嶄氦浜?br />
a.鎺ュ彈娑堟伅鐨勫璞?br />
b.鏂規硶錛堜粙璐級
c.鍙傛暟
4.闈㈠悜瀵硅薄鐨勭壒鎬?br />
a.灝佽鎬э細瀵瑰鐣岄殣钘忔暟鎹紝鎻愪緵涓涓帴鍙g敤浜庡叾浠栧璞$殑璁塊棶銆傝闂潈闄愶紙private錛氱鏈夌殑錛屽彧鏈夊湪鏈被鎵嶅彲浠ヨ闂紱“鏈夊厓”鏄彧鏈夊湪鍖呬腑鑳借闂俻rotected鐢ㄤ簬緇ф壙涓搗淇濇姢錛沺ublic鍏叡錛屼換浣曞璞¢兘鍙互璁塊棶銆?br />
b.緇ф壙鎬э細鎶借薄綾伙細涓嶈兘瀹炰緥鍖栵紱
c.鎶借薄鎬э細
5.鎺ュ彛(interface)鐨勬蹇碉細鎺ュ彛鍙互澶氱戶鎵匡紝綾諱笉鍙互
a.鏁版嵁錛氫笉鍙彉(甯擱噺)public static final int a; static鏄湪綾誨姞杞芥槸鎵ц錛屾槸涓嶅彲鍙樼殑銆?br />
b. public abstract String draw();
6.鎶借薄鍜屾帴鍙g殑姣旇緝
a.鎶借薄涓瀹氭湁鏋勯犳柟娉曪紝鎺ュ彛娌℃湁鏋勯犳柟娉?br />
b.鎶借薄涓嶅彲浠ュ疄鐜板緇ф壙錛屾帴鍙e彲浠?br />
c.鎶借薄鍙互緇ф壙鎺ュ彛錛涙帴鍙d笉鑳界戶鎵挎娊璞?br />
7.鎶借薄涓庢帴鍙g殑搴旂敤鍖哄埆
a.娑夊強璧勬簮鐨勫紩鐢ㄤ笌鍔犺澆鏃跺欎竴瀹氳繍鐢ㄦ娊璞°傛帴鍙d笉鑳藉畬鎴愮殑鏃跺欒冭檻鐢ㄦ娊璞?/p>
8.澶氭佺壒鎬э細閫氳繃鍚屼竴縐嶇浉鍚屽姛鑳藉崟鍏冿紝涓嶅悓鐨勫疄鐜扮粏鑺?br /> a.緙栬瘧鏃跺鎬佹э細閲嶈澆锝涙柟娉曞悕鐩稿悓銆佸弬鏁頒釜鏁扮浉鍚岀被鍨嬩笉鍚屻佽繑鍥炰笉鍖哄垎锝?br /> b.榪愯鏃跺鎬佹э細閲嶅啓 锝涘瓙綾葷殑璁塊棶鏉冮檺涓嶈兘姣旂埗綾葷殑璁塊棶鏉冮檺灝忥綕銆佸弽灝勬満鍒?br />