书接上回
上一个例子展示的只是在日本人的做梦的外围做一点事情,并没有窃取到日本人的机密。这里LEO要窃取日本人的密码
1、修改Person类
package com.spring.service;
import org.springframework.stereotype.Component;
@Component
public class Person {
public int haveNap()
{
System.out.println(this.getClass().getName());
System.out.println("打个盹,想想我的银行密码");
return 123;
}
}
这里做了一个新的方法,小睡。日本人小睡一会,顺便想想自己保险柜的密码,而LEO就是要窃取这个密码123
2、修改一下上一个例子中LeoIncept类
package com.spring.aop;
import java.lang.reflect.Method;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.aop.AfterReturningAdvice;
import org.springframework.stereotype.Component;
@Aspect
@Component
public class LeoIncept{
@AfterReturning(returning="arg0",pointcut ="execution(public int com.spring.service.Person.haveNap())")
public void stealPassword(Object arg0) throws Throwable {
System.out.println("password is "+arg0.toString());
}
}
这里我们定义了一个stealPassword的方法从返回值中窃取密码。使用AfterReturning可以查看返回值,但是不能修改返回值。
3、xml文件不变
4、测试类不变
5、测试结果
com.spring.service.Person
打个盹,想想我的银行密码
password is 123
分享到:
相关推荐
NULL 博文链接:https://garrincha.iteye.com/blog/2112027
NULL 博文链接:https://garrincha.iteye.com/blog/2111957
死磕Spring之AOP篇 - Spring AOP两种代理对象的拦截处理(csdn)————程序
spring aop spring aop spring aop spring aop spring aop spring aop spring aop spring aop spring aop
spring aop jar 包
spring-aop-1.1.1.jar spring-aop-1.2.6.jar spring-aop-1.2.9.jar spring-aop-2.0.2.jar spring-aop-2.0.6.jar spring-aop-2.0.7.jar spring-aop-2.0.8.jar spring-aop-2.0.jar spring-aop-2.5.1.jar spring-aop-...
描述一下Spring AOP? 在Spring AOP中关注点(concern)和横切关注点(cross-cutting concern)有什么不同? AOP有哪些可用的实现? Spring中有哪些不同的通知类型(advice types)? Spring AOP 代理是什么? 引介...
一、适合人群 1、具备一定Java编程基础,初级开发者 2、对springboot,mybatis,mysql有基本认识 3、对spring aop认识模糊的,不清楚如何实现Java 自定义注解的 ...4、spring boot,mybatis,druid,spring aop的使用
基于注解实现SpringAop基于注解实现SpringAop基于注解实现SpringAop
Spring框架的关键组件之一是面向方面编程(AOP)框架。 面向方面的编程需要将程序逻辑分解成不同的部分。 此教程将通过简单实用的方法来学习Spring框架提供的AOP/面向方面编程。
开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE开发工具 spring-aop-4.3.6.RELEASE...
springaop依赖的jar包,spring版本2.5.6,如果需要,可以下载使用,欢迎各位评论指出不足
spring aop的demo spring aop的demo
spring之AOP(动态代理),包括jdk动态代理和CGLib动态代理
AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析...
Spring AOP 几个不同使用方法的完整例子,使用Junit4c测试, 在我的博客上有不同配置组合的说明,可以参考
Spring aop Spring aop
spring aop切面拦截指定类和方法实现流程日志跟踪 一般情况下,在不侵入业务代码的情况下,需要做流程日志跟踪是比较合理的 采用springaop切面思想