<bean id="log" class="com.example.Log"></bean>
<bean id="service",class="com.example.Service"><bean>
<aop:config>
<aop:aspect id="aspectAOP" ref="log">
<aop:pointcut expression="execution(* com.example.Service.*(..))"
id="pointcut"/>
<aop:before method="before" pointcut-ref="pointcut"/>
<aop:after-returning method="after" pointcut-ref="pointcut"/>
<aop:after-throwing method="throwMethod" pointcut-ref="pointcut"/>
<aop:after method="finallyMethod" pointcut-ref="pointcut"/>
</aop:aspect>
</aop:config>
java:
package com.example
public class Log{
public void before(){
System.out.println("execute before");
}
public void after(){
System.out.println("after main");
}
public void throwMethod(){
System.out.println("throw from main");
}
public void finallyMethod(){
System.out.println("finally main");
}
}
----------
package com.example
public class Service{
public void mainMethod(){
System.out.println("main");
throw new Exception();
}
}
打开App,阅读手记