基于Annotation的Spring AOP: @AfterReturning
来源:互联网 发布:三维家软件下载 编辑:程序博客网 时间:2024/06/07 15:39
AfterReturning 增强处理将在目标方法正常完成后被织入。
使用@AfterReturning可指定如下两个属性:
① pointcut / value : 两者都用于指定该切入点对应的切入表达式
② returning : 指定一个返回值形参名,增强处理定义的方法可通过该行参名来访问目标方法的返回值。
Person.java :
public interface Person {public String sayHello(String name);public void eat(String food);}Chinese.java :
import org.springframework.stereotype.Component;@Componentpublic class Chinese implements Person {@Overridepublic void eat(String food) {System.out.println("我正在吃:"+food);}@Overridepublic String sayHello(String name) {System.out.println("sayHello方法被执行了");return name+"Hello,Spring AOP";}}AfterReturningAdviceTest.java :
import org.aspectj.lang.annotation.AfterReturning;import org.aspectj.lang.annotation.Aspect;/** * 定义一个切面 * @author Administrator * */@Aspectpublic class AfterReturningAdviceTest {@AfterReturning(returning="rvt",pointcut="execution(* com.bean.*.*(..))")public void log(Object rvt){System.out.println("获取目标方法返回值:"+rvt);System.out.println("模拟记录日志的功能...");}}bean.xml :
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"> <context:component-scan base-package="com.bean"> <context:include-filter type="annotation" expression="org.aspectj.lang.annotation.Aspect"/> </context:component-scan> <aop:aspectj-autoproxy/> </beans>Test.java :
public class Test {public static void main(String[] args) {ApplicationContext ctx=new ClassPathXmlApplicationContext("bean.xml");Person p=(Person) ctx.getBean("chinese");System.out.println(p.sayHello("张三"));p.eat("西瓜");}}运行控制台输出:
- 基于Annotation的Spring AOP: @AfterReturning
- [Spring AOP] 基于AspectJ的@AfterReturning注释示例=
- [Spring AOP] 基于AspectJ的@AfterReturning注释示例
- 3.spring的aop之@AfterReturning
- Spring AOP - AspectJ - @AfterReturning example
- 基于Annotation的Spring AOP: @Before
- 基于Annotation的Spring AOP: @AfterThrowing
- 基于Annotation的Spring AOP: @After
- 基于Annotation的Spring AOP: @Around
- Spring基于annotation的AOP(AspectJ)
- Spring AOP 的引入(三 基于annotation)
- Spring AOP功能--基于Annotation的方式
- Spring AOP(二)之AfterReturning增强处理
- 基于 Annotation 拦截的 Spring AOP 权限验证方法
- 基于 Annotation 拦截的 Spring AOP 权限验证方法
- 基于 Annotation 拦截的 Spring AOP 权限验证方法
- 基于 Annotation 拦截的 Spring AOP 权限验证方法
- 基于 Annotation 拦截的 Spring AOP 权限验证方法
- VC 编辑框垂直居中和字体颜色设置
- 噩梦遇地震,醒后忆岁月
- mmc旅行商人问题
- 为适合自己的客户提供更优质的网站开发服务
- Initializing OpenGL 4.0
- 基于Annotation的Spring AOP: @AfterReturning
- 最近换QQ了1085992075,老朋友们可以联系这个
- Vim search words
- ext2_allocate_branch()解析
- OpenGL投影矩阵推导
- 在Grails中创建一个简单的Twitter应用程序(第2部分)
- 由我主讲的软件测试系列视频之性能测试系列视频讲座目录出炉了
- 最佳的七十五个网络分析和安全工具
- 由我主讲的软件测试系列视频之Quality Center系列视频讲座目录出炉了