锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品911,国产精品一区二区三区精品,久久国产精品高清一区二区三区http://www.aygfsteel.com/haiqian/category/45986.html浜彈鍜岀儹鐖辯敓媧誨摝zh-cnThu, 19 Aug 2010 18:44:24 GMTThu, 19 Aug 2010 18:44:24 GMT60- 鍒╃敤Spring涓殑AOP鍋氭潈闄愮鐞?/title>http://www.aygfsteel.com/haiqian/articles/329417.htmlhyponhyponThu, 19 Aug 2010 14:21:00 GMThttp://www.aygfsteel.com/haiqian/articles/329417.htmlhttp://www.aygfsteel.com/haiqian/comments/329417.htmlhttp://www.aygfsteel.com/haiqian/articles/329417.html#Feedback0http://www.aygfsteel.com/haiqian/comments/commentRss/329417.htmlhttp://www.aygfsteel.com/haiqian/services/trackbacks/329417.html
杞竴鐐笰OP鐨勭煡璇嗭細
紼嬪簭浠g爜:
1銆丼pring鍙敮鎸佹柟娉曟嫤鎴紝涔熷氨鏄錛屽彧鑳藉湪鏂規硶鐨勫墠鍚庤繘琛屾嫤鎴紝鑰屼笉鑳藉湪灞炴у墠鍚庤繘琛屾嫤鎴?br />
2銆丼pring鏀寔鍥涚鎷︽埅綾誨瀷錛氱洰鏍囨柟娉曡皟鐢ㄥ墠錛坆efore錛夛紝鐩爣鏂規硶璋冪敤鍚庯紙after錛夛紝鐩爣鏂規硶璋冪敤鍓嶅悗錛坅round錛夛紝浠ュ強鐩爣鏂規硶鎶涘嚭寮傚父錛坱hrow錛夈?br />
3銆佸墠緗嫤鎴殑綾誨繀欏誨疄鐜癕ethodBeforeAdvice鎺ュ彛錛屽疄鐜板叾涓殑before鏂規硶銆?br />
4銆佸悗緗嫤鎴殑綾誨繀欏誨疄鐜癆fterReturningAdvice鎺ュ彛錛屽疄鐜板叾涓殑afterReturning鏂規硶銆?br />
5銆佸墠鍚庢嫤鎴殑綾誨繀欏誨疄鐜癕ethodInterceptor鎺ュ彛錛屽疄鐜板叾涓殑invoke鏂規硶銆傚墠鍚庢嫤鎴槸鍞竴鍙互鎺у埗鐩爣鏂規硶鏄惁琚湡姝h皟鐢ㄧ殑鎷︽埅綾誨瀷錛屼篃鍙互鎺у埗榪斿洖瀵硅薄銆傝屽墠緗嫤鎴垨鍚庣疆鎷︽埅涓嶈兘鎺у埗錛屽畠浠笉鑳藉嵃璞$洰鏍囨柟娉曠殑璋冪敤鍜岃繑鍥炪?br />
浠ヤ笂鍙互鐪嬪嚭鎴戜滑瑕侀夌敤瀹炵幇MethodInterceptor鎺ュ彛鐨勬柟娉曟潵瀹屾垚榪欎釜鍔熻兘銆?br />
浠g爜濡備笅錛?br />
鎺ュ彛綾葷殑瀹氫箟錛?br />
紼嬪簭浠g爜:
package com.dragon.study;
public interface ILogin {
public void login(String name);
}
鎺ュ彛瀹炵幇綾葷殑瀹氫箟錛?br />
紼嬪簭浠g爜:
package com.dragon.study.Impl;
import com.dragon.study.ILogin;
public class LoginImpl implements ILogin {
/**
* Login
*/
public void login(String name) {
System.out.println("嬈㈣繋 " + name + "鐧婚檰錛?);
}
}
鏈閲嶈鐨勬嫤鎴櫒鐨勫畾涔夛細
紼嬪簭浠g爜:
package com.dragon.Advice;
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
public class LoginInterceptor implements MethodInterceptor {
/**
* Interceptor
*/
public Object invoke(MethodInvocation arg0) throws Throwable {
String name = (String)arg0.getArguments()[0];
if (name.equals("flash")) {
System.out.println("榪欐墠鏄湡姝g殑鐢ㄦ埛錛?");
return arg0.proceed();
} else {
System.out.println("闈炴硶鐨勭敤鎴穨~~ ");
return null;
}
}
}
ApplicationContext.XML鐨勫畾涔夛細
<beans>
<bean id="loginInterceptor" class="com.dragon.Advice.LoginInterceptor"></bean>
<bean id="loginTarget" class="com.dragon.study.Impl.LoginImpl"></bean>
<bean id="login" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>com.dragon.study.ILogin</value>
</property>
<property name="interceptorNames">
<list>
<value>loginInterceptor</value>
</list>
</property>
<property name="target">
<ref bean="loginTarget"/>
</property>
</bean>
</beans>
OK錛屼互涓婂氨鏄墍鏈変唬鐮侊紝涓嬮潰鍋氫竴涓祴璇曠被錛?br />
Test綾誨畾涔夛細
紼嬪簭浠g爜:
package com;
import Java.io.*;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXMLApplicationContext;
import com.dragon.study.ILogin;
public class Test {
public static void main(String[] args) throws IOException {
ApplicationContext ctx = new FileSystemXmlApplicationContext("applicationContext.XML");
ILogin login = (ILogin)ctx.getBean("login");
login.login("flash"); //鐢ㄦ埛涓篺lash鏄紜敤鎴鳳紝鍚﹀垯鏄敊璇殑
}
}

]]>
主站蜘蛛池模板:
神农架林区|
三台县|
内丘县|
广州市|
辛集市|
濮阳县|
泸水县|
阿合奇县|
竹溪县|
吴忠市|
大石桥市|
阜宁县|
明光市|
邹城市|
高雄县|
抚顺市|
汝阳县|
东乌珠穆沁旗|
共和县|
合江县|
长岛县|
沛县|
皋兰县|
岳阳市|
喀喇沁旗|
仁怀市|
京山县|
青铜峡市|
梧州市|
友谊县|
河源市|
津市市|
绥德县|
汾西县|
伊川县|
东安县|
株洲县|
兴文县|
当雄县|
西畴县|
九龙坡区|