学习记录
来源:互联网 发布:touchslide.js 编辑:程序博客网 时间:2024/06/02 05:13
Around advice
通知方法的第一个参数必须是ProceedingJoinPoint类型
示例:
public Object around(ProceedingJoinPoint pjp) {
Object obj = null;
//执行方法 会抛出异常
try{
//做你想做的事情
Object retVal = pjp.proceed();
//做你想做的事情
}catch(Throwable e){
e.printStackTrace();
}
return retVal;
}
Advice parameters
带参数的Advice
示例:
XML:
<aop:around method="aroundInit" pointcut="execution(* com.imooc.aop.schema.advice.biz.AspectBiz.init(String, int)) and args(bizName, times)"/>
切面:
public Object aroundInit(ProceedingJoinPoint pjp, String bizName, int times) {System.out.println(bizName + " " + times);Object obj = null;try {System.out.println("MoocAspect aroundInit 1.");obj = pjp.proceed();System.out.println("MoocAspect aroundInit 2.");} catch (Throwable e) {e.printStackTrace();}return obj;}
Introductions
允许一个切面声明一个实现指定接口的通知对象,并且提供了一个接口实现类来代表这些对象。
由<aop.sapect>中的<aop.declare-parents>元素声明该元素用于声明所匹配的类型拥有一个新的parent(因此得名)。
示例:
<aop:declare-parents types-matching="com.imooc.aop.schema.advice.biz.*(+)" implement-interface="com.imooc.aop.schema.advice.Fit"default-impl="com.imooc.aop.schema.advice.FitImpl"/>
测试代码:
@Testpublic void testFit() {Fit fit = (Fit)super.getBean("aspectBiz");fit.filter();}可以进行强制类型转换,说明是FitImpl的子类,并且实现了接口的filter()方法。
0 0
- --学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- 学习记录
- Hibernate缓存机制之快照
- JQuery动画
- 第四周:[Leetcode]207. Course Schedule
- 浅谈各种拒绝服务攻击的原理与防御
- 支持对列表操作的栈(lua)
- 学习记录
- 验证码倒计时JS
- Ajax 跨域请求详解
- DbUtils(二) 结果集实例
- Springboot启动源码详解
- 迷宫寻宝(一)
- [U3D][Editor]编辑材质球遇到的一些问题
- 四则(栈or二叉树)
- css3:-webkit-box