使用AOP的两种方式
第一种 XML方式
<aop:aspectj-autoproxy proxy-target-class="true" />
<bean id="logIntercepter" class="com.samrtian.aop.LogIntercepter" />
<aop:config> //开始配置
<aop:pointcut id="saveService" expression="execution(public void com.samrtian.DAO.UserDAO.addUser(com.samrtian.model.User))" /> //配置一个全局切入点
<aop:aspect id="log" ref="logIntercepter"> //定义切入类
<aop:before method="before" pointcut-ref="saveService" /> //配置在方法前执行
<aop:after method="after" pointcut-ref="saveService" /> //配置在方法后执行
</aop:aspect>
</aop:config>
第二种 注解方式
@Aspect //定义切入类
@Component //自动生成bean
public class LogIntercepter {
@Pointcut("execution(public void com.samrtian.DAO.UserDAO.addUser(com.samrtian.model.User))") //切入哪些方法
public void myMethod() {
}
@Before("myMethod") //方法前执行
public void before() {
System.out.println("intercepter Method Start");
}
@AfterReturning("myMethod") //方法后执行
public void after() {
System.out.println("intercepter Method After");
}
}
还没有评论,来说两句吧...