Spring AOP总结
来源:互联网 发布:网红淘宝店前十名男装 编辑:程序博客网 时间:2024/06/06 20:12
1.切面bean
package com.web.aop;import org.aspectj.lang.JoinPoint;import org.aspectj.lang.ProceedingJoinPoint;/** * * @see * @author xuxile * @date2014-12-23 上午9:18:58 * @version * @desc TODO *//** * 日志切面 * */ public class logAspect { public void afterMethod(JoinPoint jp) { System.out.println("后置通知: " + jp.getTarget().getClass().getName() + "." + jp.getSignature().getName()); } public Object aroundMethod(ProceedingJoinPoint pjp) throws Throwable { long time = System.currentTimeMillis(); Object retVal = pjp.proceed(); time = System.currentTimeMillis() - time; System.out.println("环绕通知: " + time + " ms"); return retVal; } public void beforeMethod(JoinPoint jp) { System.out.println("前置通知: " + jp.getTarget().getClass().getName() + "." + jp.getSignature().getName()); } public void throwingMethod(JoinPoint jp, Throwable ex) { System.out.println("异常通知:" + jp.getTarget().getClass().getName() + "." + jp.getSignature().getName() + " throw exception"); System.out.println(ex.getMessage()); } }2.在applicationContext.xml配置AOP
<span style="color:#006600;"><!-- 配置切面bean --><bean id="logAspect" class="com.web.aop.logAspect"/><!-- 配置AOP --><aop:config> <!-- 配置切点表达式 --> <aop:pointcut expression="execution(* com.web.service.impl.*.*(..))" id="pointcut"/> <!-- 配置切面及通知 --> <aop:aspect ref="logAspect" order="1"> <aop:before method="beforeMethod" pointcut-ref="pointcut"/> <aop:after method="afterMethod" pointcut-ref="pointcut"/> <aop:around method="aroundMethod" pointcut-ref="pointcut"/> <!-- 异常通知中的throwing名称必须与切面bean中的异常参数名称一致 --> <aop:after-throwing method="throwingMethod" pointcut-ref="pointcut" throwing="ex"/> </aop:aspect></aop:config></span>
3.AOP流程解释
当controller中调用serviceIml中的方法时,AOP生效。
注意:当我们用aop切controller这样就不生效了,原因是因为项目启动时我们spring MVC加载的是dispatcher-servlet.xml,我们只需要将上面2的配置移动到dispatcher-servlet.xml我们就能切controller了!
0 0
- Spring总结之AOP
- Spring总结之AOP
- Spring总结-AOP
- spring AOP学习总结
- Spring AOP 学习总结
- Spring Aop机制总结
- Spring AOP总结
- spring aop实现总结
- Spring AOP总结
- Spring Aop总结
- Spring Aop基础总结
- Spring/Aop代码总结
- Spring AOP总结
- Spring AOP总结
- Spring AOP总结
- Spring AOP总结
- spring AOP初步总结
- spring aop总结
- DateUtils日期工具类
- Windows下用Bochs编译运行Linux-0.11
- Android 应用程序窗体显示状态操作
- 您的 Java 代码安全吗 — 还是暴露在外?
- jsonp浅入深出
- Spring AOP总结
- 分类标准相关问题
- 动画效果
- Android telephony MMS 学习笔记
- String to Integer (atoi)
- Java操作Hbase
- spring学习之@ModelAttribute运用详解
- Effective C++学习笔记(Part Three:Item 13-17)
- Palindromic Tree——回文树【处理一类回文串问题的强力工具】