锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 2銆佷慨鏀歸厤緗枃浠訛紝瀵笰op鎻愪緵浠g爜鎻愮ず 3銆佸垱寤烘帴鍙e拰瀹炵幇綾?br>鎺ュ彛 } public void addUser(String name) { public void delUser(int id) { } } 5銆佸鏋滆浠g悊鐨勫璞℃病鏈夊疄鐜扮殑鎺ュ彛錛屽氨蹇呴』鍔犲叆CBLIB鐨勬敮鎸?br>鍔犲叆$SPRING_HOME/lib/cglib/cglib-nodep-2.1_3.jar #Spring Aop
$SPRING_HOME/lib/jakarta-commons/commons-logging.jar,
$SPRING_HOME/lib/log4jlog4j-1.2.14.jar
aspectj鏀寔鐨刯ar鍖?br>$SPRING_HOME/lib/aspectj/*.jar
xmlns:aop="
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
public interface UserManager {
public void addUser(String name);
public void delUser(int id);
瀹炵幇綾?br>public class UserManagerImpl implements UserManager {
System.out.println("addUser " + name);
}
System.out.println("delUser "+id);
}
PointCut鍜孉dvise鐨勭被
@Aspect
public class MyUserManager {
@Pointcut("execution(* add*(..))")
public void addUser(){}
@Before("addUser()")
public void myMethod(){
System.out.println("myMethod");
}
4銆侀厤緗枃浠惰緗?br><aop:aspectj-autoproxy />
<bean id="user" class="org.edward.UserManagerImpl" />
<bean id="aop" class="org.edward.MyUserManager" />
淇敼閰嶇疆鏂囦歡
<aop:aspectj-autoproxy proxy-target-class="true" />
<bean id="user" class="org.edward.aop3.UserManagerImpl" />
<bean id="aop" class="org.edward.aop3.MyUserManager" />
<aop:config>
<aop:aspect id="log" ref="aop">
<aop:pointcut id="logHello" expression="execution(* add*(..))"/>
<aop:before pointcut-ref="logHello" method="myMethod"/>
<aop:after pointcut-ref="logHello" method="myMethod"/>
</aop:aspect>
</aop:config>
]]>
榪欐槸杈冨ぇ瀛愮郴緇熺殑鍐呴儴鏋舵瀯鍥撅細(xì)
org.springframework.aop:
org.springframework.beans:
org.springframework.jdbc:
org.springframework.jms:
org.springframework.orm:
org.springframework.web:
鍘熸枃鍦板潃錛歨ttp://chris.headwaysoftware.com/2007/11/spring-25-archi.html