您的位置:首页 > 运维架构

使用AOP的两种方式

2016-01-27 19:17 597 查看
第一种 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");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: