Aspectj后置返回通知

接口:

package chapter1.server;public interface IHelloService2 {public int sayAfterReturning(String param);
}

  

接口实现

package chapter1.service.impl;import chapter1.server.IHelloService2;public class HelloService2 implements IHelloService2 {public int sayAfterReturning(String param) {// TODO Auto-generated method stubSystem.out.println("============ say after returning:" + param);return 1;}}

  

配置:

一定要加:<aop:aspectj-autoproxy/> 启动对Aspectj的支持

<aop:aspectj-autoproxy/>
<bean id="helloService" class="chapter1.service.impl.HelloService2" />
<bean id="aspect" class="chapter1.aop.HelloAspect2"/>

  

AOP切面:

一定要引入:org.aspectj.lang.annotation.Aspect; 否则不执行

package chapter1.aop;import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.annotation.AfterReturning;@Aspect
public class HelloAspect2 {//方法一//通知@AfterReturning(   //value="execution(* chapter1..*.sayAdvisorBefore(java.lang.String)) and args(param)",value="execution(* chapter1..*.sayAfterReturning(..))",         argNames="retVal", returning="retVal")public void afterReturningAdvice(Object retVal){System.out.println("================= return after advice : " + retVal);}//方法二//定义切入点@Pointcut(value="execution(* chapter1..*.sayAfterReturning(java.lang.String) and args(param))", argNames="param")public void returnPointcut(String param) {}public void afterReturningAdvice2(Object retVal){}}

  

测试程序:

@Testpublic void testAspectAfterReturning(){ApplicationContext context = new ClassPathXmlApplicationContext("chapter1/aspectj2.xml");IHelloService2 hello = context.getBean("helloService", IHelloService2.class);hello.sayAfterReturning("hahah");}

  

结果:

============ say after returning:hahah
================= return after advice : 1

转载于:https://www.cnblogs.com/achengmu/p/8574911.html

spring3: Aspectj后置返回通知相关推荐

  1. C++函数后置返回类型

    //后置函数返回类型声明 auto func(int a, int b)->void; //后置函数返回类型定义 auto func(int a, int b)->void {return ...

  2. C++11 - 返回类型后置

    该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105022843 返 ...

  3. [C++再学习系列] 前置++与后置++

    前置++: type operator++(); 后置++: const type operator++(int ); 为了编译器区分前置和后置++,C++规定后缀形式有一个int类型参数,当函数被调 ...

  4. (转)前置++和后置++的区别

    今天在阅读<google c++ 编程风格>的文档的时候,5.10. 前置自增和自减:有一句话引起了我的注意: 对于迭代器和其他模板对象使用前缀形式 (++i) 的自增, 自减运算符.,理 ...

  5. C++之运算符重载(前置++和后置++)

    今天在阅读<google c++ 编程风格>的文档的时候,5.10. 前置自增和自减:有一句话引起了我的注意: 对于迭代器和其他模板对象使用前缀形式 (++i) 的自增, 自减运算符.,理 ...

  6. 前置++与后置++的要点分析

    前置++和后置++,都是自增1,但是表达式返回值不同.执行效率上前置++更快. 前置++返回是自增之后的值. 等价于num+=1; rerurn num; 后置++返回的是自增之前的值. 等价于  i ...

  7. 前置++和后置++的区别

    今天在阅读<google c++ 编程风格>的文档的时候,5.10. 前置自增和自减:有一句话引起了我的注意: 对于迭代器和其他模板对象使用前缀形式 (++i) 的自增, 自减运算符.,理 ...

  8. Spring(十八):Spring AOP(二):通知(前置、后置、返回、异常、环绕)

    AspectJ支持5种类型的通知注解: @Before:前置通知,在方法执行之前执行: @After:后置通知,在方法执行之后执行: @AfterRunning:返回通知,在方法返回结果之后执行(因此 ...

  9. spring21:Aspectj实现后置通知@AfterReturning

    切面类: package com.atChina.Test2;import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation ...

最新文章

  1. 油猴脚本第一家,网页网盘链接实时判断+资源搜索网站导航,资源重度患者的福利...
  2. linux 访问不同网段
  3. 马昕璐201771010118《面向对象程序设计(java)》第七周学习总结
  4. 互联网日报 | 6月16日 星期三 | 滴滴试点早高峰拼成0佣金计划;小米“急”招自动驾驶相关人才;苹果正式推出播客订阅服务...
  5. 没有匹配的验证协议_ORA-28040:没有匹配的验证协议
  6. SpringMVC学习笔记七:SpringMVC的数据验证
  7. python10进制转2进制掩码_Python简单实现子网掩码转换的方法
  8. Android开发笔记(一百五十六)通过渲染纹理展示地球仪
  9. cookie 保存导航菜单的展开状态
  10. 数组对象 按某个属性排序
  11. python 插入数据库 b“Incorrect syntax near ‘,‘.DB-Lib error message 20018
  12. 项目开发 —— 一页纸项目管理(OPPM)
  13. vcpkg Ubuntu安装
  14. 小米手环 / 运动手环 记步功能原理
  15. 微商怎么做大做强,教你一套做微商全新打法
  16. 在Postfix里给邮箱定虚拟别名
  17. LeetCode1818:绝对差值和
  18. mac虚拟机服务器设置u盘启动不了怎么办,苹果MacBook Air u盘启动不了怎么办?
  19. Kubernetes 的网络原理 (五)---CNI网络模型
  20. Python求解二元二次函数梯度

热门文章

  1. php 获取请求设备,php – 如何获取设备令牌
  2. polkit 重新安装_不折腾,为U-NAS安装一个清爽的桌面,把小U打造成双面高手
  3. mysql怎么查看刷脏页慢_一条SQL查询语句极为缓慢,如何去优化呢
  4. mysql数据迁移到sqlserver_一个通用数据库操作组件DBUtil(c#)、支持SqlServer、Oracle、Mysql、postgres、SQLITE...
  5. linux关闭远程服务器,linux – 远程主机关闭SSH连接
  6. linux内核编译如何选择cpu类型,Ubuntu内核编译和CPU Hot-Plug特性配置全过程及遇到问题记录...
  7. C语言 | 内部与外部函数
  8. ar面部识别_国内手机厂商AR布局报告
  9. mysql 隐藏中间四位_MySQL知识体系——索引
  10. 云计算机内存不足怎么办,网易云音乐提示内存不足,电脑提示内存不足-