如何理解Spring的AOP Spring框架IOC和AOP要怎么理解?

\u5982\u4f55\u7b80\u5355\u7684\u7406\u89e3spring aop

\u7528\u6bd4\u55bb\u7684\u65b9\u6cd5\u7406\u89e3\u5427\uff1a
\u521d\u5b66\u8005\u7684\u7406\u89e3\uff0c\u4ec5\u4ec5\u4e3a\u4e86\u4e2a\u4eba\u597d\u8bb0
aop:\u7531\u4e09\u90e8\u5206\u7ec4\u6210\uff1a\u5de5\u5177\u7bb1\uff0c\u5de5\u4eba\uff0c\u4e3a\u5de5\u4eba\u5206\u914d\u5de5\u5177
tx\u4e8b\u52a1\uff1a\u7531\u56db\u90e8\u5206\u7ec4\u6210\uff1a\u7ba1\u7406\u8005\uff0c\u5236\u5ea6\uff0c\u5de5\u4eba\uff0c\u5411\u5de5\u4eba\u901a\u77e5\u7ba1\u7406\u5236\u5ea6

IoC\u5c31\u662f\u5bf9\u8c61\u7684\u521b\u5efa\uff0c\u4f9d\u8d56\u90fd\u7531Spring\u53ca\u914d\u7f6e\u6587\u4ef6\u63a7\u5236\uff1bAOP\u5c31\u662f\u7edf\u4e00\u7684\u7ed9\u4e00\u4e9b\u7c7b\u4f3c\u7684\u65b9\u6cd5\u52a0\u4e0a\u540c\u6837\u7684\u529f\u80fd\uff0c\u6bd4\u5982\u65e5\u5fd7\uff0c\u4e8b\u52a1\u3002
Spring \u6846\u67b6\u662f\u4e00\u4e2a\u5206\u5c42\u67b6\u6784\uff0c\u7531 7 \u4e2a\u5b9a\u4e49\u826f\u597d\u7684\u6a21\u5757\u7ec4\u6210\u3002Spring \u6a21\u5757\u6784\u5efa\u5728\u6838\u5fc3\u5bb9\u5668\u4e4b\u4e0a\uff0c\u6838\u5fc3\u5bb9\u5668\u5b9a\u4e49\u4e86\u521b\u5efa\u3001\u914d\u7f6e\u548c\u7ba1\u7406 bean \u7684\u65b9\u5f0f\u3002
\u7ec4\u6210 Spring \u6846\u67b6\u7684\u6bcf\u4e2a\u6a21\u5757\uff08\u6216\u7ec4\u4ef6\uff09\u90fd\u53ef\u4ee5\u5355\u72ec\u5b58\u5728\uff0c\u6216\u8005\u4e0e\u5176\u4ed6\u4e00\u4e2a\u6216\u591a\u4e2a\u6a21\u5757\u8054\u5408\u5b9e\u73b0\u3002
Spring \u7684\u5e94\u7528\u7a0b\u5e8f\u4e2d\u7684\u5bf9\u8c61\u63d0\u4f9b\u4e86\u4e8b\u52a1\u7ba1\u7406\u670d\u52a1\u3002\u901a\u8fc7\u4f7f\u7528 Spring AOP\uff0c\u4e0d\u7528\u4f9d\u8d56 EJB \u7ec4\u4ef6\uff0c\u5c31\u53ef\u4ee5\u5c06\u58f0\u660e\u6027\u4e8b\u52a1\u7ba1\u7406\u96c6\u6210\u5230\u5e94\u7528\u7a0b\u5e8f\u4e2d\u3002
Spring MVC \u6846\u67b6\uff1aMVC \u6846\u67b6\u662f\u4e00\u4e2a\u5168\u529f\u80fd\u7684\u6784\u5efa Web \u5e94\u7528\u7a0b\u5e8f\u7684 MVC \u5b9e\u73b0\u3002\u901a\u8fc7\u7b56\u7565\u63a5\u53e3\uff0cMVC \u6846\u67b6\u53d8\u6210\u4e3a\u9ad8\u5ea6\u53ef\u914d\u7f6e\u7684\uff0cMVC \u5bb9\u7eb3\u4e86\u5927\u91cf\u89c6\u56fe\u6280\u672f\uff0c\u5176\u4e2d\u5305\u62ec JSP\u3001Velocity\u3001Tiles\u3001iText \u548c POI\u3002
Spring \u6846\u67b6\u7684\u529f\u80fd\u53ef\u4ee5\u7528\u5728\u4efb\u4f55 J2EE \u670d\u52a1\u5668\u4e2d\uff0c\u5927\u591a\u6570\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u4e0d\u53d7\u7ba1\u7406\u7684\u73af\u5883\u3002Spring \u7684\u6838\u5fc3\u8981\u70b9\u662f\uff1a\u652f\u6301\u4e0d\u7ed1\u5b9a\u5230\u7279\u5b9a J2EE \u670d\u52a1\u7684\u53ef\u91cd\u7528\u4e1a\u52a1\u548c\u6570\u636e\u8bbf\u95ee\u5bf9\u8c61\u3002\u6beb\u65e0\u7591\u95ee\uff0c\u8fd9\u6837\u7684\u5bf9\u8c61\u53ef\u4ee5\u5728\u4e0d\u540c J2EE \u73af\u5883 \uff08Web \u6216 EJB\uff09\u3001\u72ec\u7acb\u5e94\u7528\u7a0b\u5e8f\u3001\u6d4b\u8bd5\u73af\u5883\u4e4b\u95f4\u91cd\u7528\u3002

首先楼主需要明白“事物处理”的概念
AOP主要是针对事物处理来说吧,而且是相对于以前的编程式事物处理的,不用AOP的话,我们得通过硬编码的方式将事物处理写在方法中,有了AOP之后,我们只需要在spring的配置文件中配置一下事物就可以了,这就叫声明式事物处理.一般配置时是通过配置匹配某个格式的方法名,当运行到这种方法的时候spring就会拦截下它来,并给它加上事物的处理了
通俗点讲spring的AOP相当与电脑中主板的作用。主板:就是把各种元器件连接到其上,统一由其管理,避免了元器件与与器件之间连接的混乱。
不知这么说你有没有明白一些

面向切面编程,主要运用spring的代理机制进行日志写入。

aop 要理解他的原理,然后谈用途。主要用事务控制,当然打运行日志,权限控制,等。


  • 濡備綍鐞嗚ВSpring鐨凙OP?
    绛旓細1銆佹柟渚胯В鑰︼紝绠鍖栧紑鍙 閫氳繃Spring鎻愪緵鐨処oC瀹瑰櫒锛屾垜浠彲浠ュ皢瀵硅薄涔嬮棿鐨勪緷璧栧叧绯讳氦鐢盨pring杩涜鎺у埗锛岄伩鍏嶇‖缂栫爜鎵閫犳垚鐨勮繃搴︾▼搴忚﹀悎銆傛湁浜哠pring锛岀敤鎴蜂笉蹇呭啀涓哄崟瀹炰緥妯″紡绫汇佸睘鎬ф枃浠惰В鏋愮瓑杩欎簺寰堝簳灞傜殑闇姹傜紪鍐欎唬鐮侊紝鍙互鏇翠笓娉ㄤ簬涓婂眰鐨勫簲鐢ㄣ2銆丄OP缂栫▼鐨勬敮鎸 閫氳繃Spring鎻愪緵鐨凙OP鍔熻兘锛屾柟渚胯繘琛岄潰鍚戝垏闈㈢殑...
  • Spring涓殑AOP姒傚康
    绛旓細涓句釜鍒楀瓙锛 缁欎笅闈㈢殑鏂规硶鍔犱笂鏃ュ織璁板綍锛 public void save(Object data){ //淇濆瓨鍒版暟鎹簱閫昏緫 } 閫氳繃Spring AOP鐨勬柟寮忛厤缃棩蹇楀悗锛屾渶缁堢▼搴忔墽琛屾椂锛堜篃璁告槸鍙嶅皠锛屼篃璁告槸淇敼class锛夛紝瀹為檯涓婂湪鎵цsave(obj)鏃讹紝鎵ц浜嗕笅闈㈢殑閫昏緫锛 log.info("寮濮嬩繚瀛");save(obj);log.info("缁撴潫淇濆瓨...
  • Spring涓殑AOP姒傚康
    绛旓細Spring涓殑AOP锛鍗抽潰鍚戝垏闈㈢紪绋嬶紝閫氳繃棰勭紪璇戞柟寮忓拰杩愯鏈熷姩鎬佷唬鐞嗗疄鐜扮▼搴忓姛鑳界殑缁熶竴缁存姢鐨勪竴绉嶆妧鏈銆侫OP鏄疧OP鐨勫欢缁紝鏄蒋浠跺紑鍙戜腑鐨勪竴涓儹鐐癸紝涔熸槸Spring妗嗘灦涓殑涓涓噸瑕佸唴瀹癸紝鏄嚱鏁板紡缂栫▼鐨勪竴绉嶈鐢熻寖鍨嬨傚埄鐢ˋOP鍙互瀵逛笟鍔¢昏緫鐨勫悇涓儴鍒嗚繘琛岄殧绂伙紝浠庤屼娇寰椾笟鍔¢昏緫鍚勯儴鍒嗕箣闂寸殑鑰﹀悎搴﹂檷浣庯紝鎻愰珮绋嬪簭鐨勫彲...
  • Spring AOP鏄粈涔堟剰鎬 ,澶ц櫨瑙i噴閫氫織涓鐐,涓嶈澶笓涓,涓句緥璇存槑鏄撴噦涓鐐...
    绛旓細鍒囬潰缂栫▼锛屽氨鏄湪浣犻」鐩師鏈夌殑鍔熻兘鍩虹涓婏紝閫氳繃AOP鍘绘坊鍔犳柊鐨勫姛鑳斤紝杩欎簺鍔熻兘鏄缓绔嬪湪鍘熸湁鍔熻兘鐨勫熀纭涓婄殑锛岃屼笖鍘熸湁鐨勫姛鑳藉苟涓嶇煡閬撲綘宸茬粡娣诲姞浜嗘柊鐨勫姛鑳姐傛瘮濡傝锛屼綘鍘籄TM鍙栭挶锛屽彇閽辨槸涓涓姛鑳斤紝鍙栧畬閽卞悗鍚戜綘鐨勬墜鏈哄彂閫佷竴鏉″彇閽变俊鎭紝杩欏氨鏄柊鍔犵殑鍔熻兘銆
  • Spring涓殑AOP鎬庝箞鐞嗚В
    绛旓細鏈绠鍗曠殑渚嬪瓙锛屽仛涓涓暟鎹垹闄ゆ搷浣滆姹傚啓鏃ュ織 娌℃湁AOP鐨勬儏鍐碉細1.鍒犻櫎鏁版嵁浠g爜 2.娣诲姞鏃ュ織浠g爜 鏈堿OP锛氾紙娣诲姞鏃ュ織锛堝垹闄ゆ暟鎹級锛夌瓑浜庡氨鏄綘涓嶅啀闇瑕佹墜鍔ㄥ啓娣诲姞鏃ュ織鐨勪唬鐮佷簡锛岀浉褰撲簬鎶婂垹闄ゆ暟鎹殑浠g爜鏀惧叆浜嗕竴涓垏闈腑锛屽畠鑷繁浼氳Е鍙戞坊鍔犳棩蹇楃殑浠g爜 ...
  • Spring AOP鐨勪竴浜涙蹇
    绛旓細AOP浠g悊锛圓OP Proxy锛 AOP妗嗘灦鍒涘缓鐨勫璞 鐢ㄦ潵瀹炵幇鍒囬潰濂戠害锛坅spect contract锛夛紙鍖呮嫭閫氱煡鏂规硶鎵ц绛夊姛鑳斤級 鍦Spring涓 AOP浠g悊鍙互鏄疛DK鍔ㄦ佷唬鐞嗘垨鑰匔GLIB浠g悊 娉ㄦ剰 Spring 鏈鏂板紩鍏ョ殑鍩轰簬妯″紡锛坰chema based锛夐鏍煎拰@AspectJ娉ㄨВ椋庢牸鐨勫垏闈㈠0鏄 瀵逛簬浣跨敤杩欎簺椋庢牸鐨勭敤鎴锋潵璇 浠g悊鐨勫垱寤烘槸閫忔槑鐨 缁囧叆锛圵eaving锛...
  • Spring鍦ㄩ」鐩噷闈㈠仛浠涔,浠涔堟槸aop
    绛旓細Spring鏄釜妗嗘灦锝為潰鍚戝垏闈㈢紪绋嬶細Aspect Oriented Programming AOP鏄疧OP鐨勫欢缁紝鏄紙Aspect Oriented Programming锛夌殑缂╁啓锛屾剰鎬濇槸闈㈠悜鍒囬潰缂栫▼銆備富瑕佺殑鍔熻兘鏄細鏃ュ織璁板綍锛屾ц兘缁熻锛屽畨鍏ㄦ帶鍒讹紝浜嬪姟澶勭悊锛屽紓甯稿鐞嗙瓑绛夈備富瑕佺殑鎰忓浘鏄細灏嗘棩蹇楄褰曪紝鎬ц兘缁熻锛屽畨鍏ㄦ帶鍒讹紝浜嬪姟澶勭悊锛屽紓甯稿鐞嗙瓑浠g爜浠庝笟鍔¢昏緫浠g爜涓垝鍒...
  • 绠杩颁綘瀵Spring妗嗘灦IOC鍜AOP鐨勭悊瑙銆
    绛旓細缁勬垚 Spring 妗嗘灦鐨勬瘡涓ā鍧楋紙鎴栫粍浠讹級閮藉彲浠ュ崟鐙瓨鍦紝鎴栬呬笌鍏朵粬涓涓垨澶氫釜妯″潡鑱斿悎瀹炵幇銆Spring 鐨搴旂敤绋嬪簭涓殑瀵硅薄鎻愪緵浜嗕簨鍔$鐞嗘湇鍔°傞氳繃浣跨敤 Spring AOP锛屼笉鐢ㄤ緷璧 EJB 缁勪欢锛屽氨鍙互灏嗗0鏄庢т簨鍔$鐞嗛泦鎴愬埌搴旂敤绋嬪簭涓係pring MVC 妗嗘灦锛歁VC 妗嗘灦鏄竴涓叏鍔熻兘鐨勬瀯寤 Web 搴旂敤绋嬪簭鐨 MVC 瀹炵幇銆
  • springaop鍘熺悊
    绛旓細AOP鏄疧OP鐨勫欢缁紝鏄疉spect Oriented Programming鐨勭缉鍐欙紝鎰忔濇槸闈㈠悜鍒囬潰缂栫▼銆侫OP锛堣繖閲鐨凙OP鎸囩殑鏄潰鍚戝垏闈㈢紪绋嬫濇兂锛岃屼笉鏄Spring AOP锛変富瑕佺殑鐨勫疄鐜版妧鏈富瑕佹湁Spring AOP鍜孉spectJ銆侫spectJ鐨勫簳灞傛妧鏈槸闈欐佷唬鐞嗭紝鍗崇敤涓绉岮spectJ鏀寔鐨勭壒瀹氳瑷缂栧啓鍒囬潰锛岄氳繃涓涓懡浠ゆ潵缂栬瘧锛岀敓鎴愪竴涓柊鐨勪唬鐞嗙被锛岃浠g悊绫...
  • spring Aop 鍒板簳鏄粈涔堝師鐞嗗晩?
    绛旓細鈥 寮曞叆锛圛ntroduction锛夛細娣诲姞鏂规硶鎴栧瓧娈靛埌琚氱煡鐨勭被銆Spring鍏佽寮曞叆鏂扮殑鎺ュ彛鍒颁换浣曡閫氱煡鐨勫璞°備緥濡傦紝浣犲彲浠ヤ娇鐢ㄤ竴涓紩鍏ヤ娇浠讳綍瀵硅薄瀹炵幇IsModified鎺ュ彛锛屾潵绠鍖栫紦瀛樸傗 鐩爣瀵硅薄锛圱arget Object锛夛細鍖呭惈杩炴帴鐐圭殑瀵硅薄锛屼篃琚О浣滆閫氱煡鎴栬浠g悊瀵硅薄銆傗 AOP浠g悊锛圓OP Proxy锛夛細AOP妗嗘灦鍒涘缓鐨勫璞★紝鍖呭惈...
  • 扩展阅读:怎么理解spring的ioc和aop ... spring aop实现原理 ... 简述什么是spring aop ... 谈谈对spring的理解 ... spring aop概念 ... 对spring的理解和认识 ... 面试中spring的aop理解 ... spring框架aop的理解 ... spring aop应用场景 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网