AOP的原理是什么-创新互联

这篇文章主要讲解了“AOP的原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“AOP的原理是什么”吧!

临邑ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!

AOP的原理
对哪些对象在什么位置拦截做什么 <=>
哪些对象
 
         
dataSourceAspect 是切面要拦截什么。aop:before就是在拦截对象的前面位置。method="before"就是使用切面中的方法处理拦截 
85  
86  
87
 
如上是用配置文件配置的
还有方法是直接用注解方式
注解中也说明了,拦截范围@Pointcut,在什么位置@Before,做什么@Aspect,具体拦截对象是谁JoinPoint
@Aspect
public class LoggingAspect {


// @Pointcut("execution(* com.samsung.sdsc.legal..*Impl.*(..)) || execution(* com.samsung.sdsc.legal..*Action.*(..))")
@Pointcut("execution(* com.samsung.sdsc.legal..*Impl.*(..))")
public void serviceMethod() {
}


@Before("serviceMethod()")
public void beforeLogging(JoinPoint thisJoinPoint) {
Class clazz = thisJoinPoint.getTarget().getClass();
Logger logger = Logger.getLogger(clazz);
String methodName = thisJoinPoint.getSignature().getName();
Object[] arguments = thisJoinPoint.getArgs();


StringBuffer argBuf = new StringBuffer();
StringBuffer argValueBuf = new StringBuffer();
int i = 0;
for (Object argument : arguments) {
String argClassName = "";
if (null == argument) {
argClassName = "Null";
argument = "";
} else {
argClassName = argument.getClass().getSimpleName();
}


if (i > 0) {
argBuf.append(", ");
}
argBuf.append(argClassName + " arg" + ++i);
argValueBuf.append(".arg" + i + " : " + argument.toString() + "\n");


}


if (i == 0) {
argValueBuf.append("No arguments\n");
}


StringBuffer messageBuf = new StringBuffer();
messageBuf.append("before executing " + methodName + "("
+ argBuf.toString() + ") method");
messageBuf
.append("\n-------------------------------------------------------------------------------\n");
messageBuf.append(argValueBuf.toString());
messageBuf
.append("-------------------------------------------------------------------------------");
logger.info(messageBuf);


}
}

感谢各位的阅读,以上就是“AOP的原理是什么”的内容了,经过本文的学习后,相信大家对AOP的原理是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


当前题目:AOP的原理是什么-创新互联
网页URL:http://bzwzjz.com/article/cchceo.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 泸州网站建设 成都品牌网站建设 成都网站建设公司 成都响应式网站建设公司 成都网站建设 成都网站制作 营销型网站建设 高端网站建设 网站制作 重庆网站制作 企业手机网站建设 成都网站建设推广 成都网站建设 成都网站设计 手机网站建设 营销网站建设 成都企业网站建设 移动网站建设 营销网站建设 手机网站建设套餐 温江网站设计 app网站建设