本文是一个简单的基于注解的AOP测试例子。本文中的例子在不使用AOP时正常用于输出一句“I want make a friend with you.”。使用AOP后对返回的消息在中间进行了强制修改,最后输出为“I want fuck you!”的字样。就比如好好的一封情书,在传递过程中被人篡改,变成了一句很污的话,写情书的人形象全毁了,但是它却不知道。而这个篡改信息的就是AOP。
1、正常的业务处理
原来的情书源码如下,在这个类中返回了一句"我想和你交个朋友"的话语。
package cn.landsem.handler;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
@Component
public class BusinessHandler {
private Logger logger = Logger.getLogger(BusinessHandler.class);
public String say() {
logger.info("I want make a friend with you.");
return "I want make a friend with you.";
}
}
2、AOP
AOP是个坏人,它悄悄监视了BusinessHandler的动作,并拦截和篡改了它写的情书,将它要说的话改成了“我想操你!”。源代码如下:
package cn.landsem.aop;
import org.apache.log4j.Logger;
import org.aspectj.lang.Proce