ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JFinal AOP使用

2021-10-05 15:02:11  阅读:198  来源: 互联网

标签:拦截器 Java 实现 AOP 织入 编译器 使用 JFinal


1.AOP

AOP是Aspect Oriented Programming,即面向切面编程。对于某些方法它们会出现在不同场景中,我们可以通过接口的方式来实现此类功能,但是还是比较麻烦。如果使用AOP就会简单很多。在JFinal中,我们会将利用拦截器、注解来实现AOP

2.AOP主要功能

日志记录,性能统计,安全控制,事务处理,异常处理等等wn及扩展

3.AOP主要意图

将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码

4.AOP实现原理

在Java平台上,对于AOP的织入,有3种方式:
编译期:在编译时,由编译器把切面调用编译进字节码,这种方式需要定义新的关键字并扩展编译器,AspectJ就扩展了Java编译器,使用关键字aspect来实现织入;
类加载器:在目标类被装载到JVM时,通过一个特殊的类加载器,对目标类的字节码重新“增强”;
运行期:目标对象和切面都是普通Java类,通过JVM的动态代理功能或者第三方库实现运行期动态织入。

5.AOP实现

1.定义一个拦截器,用于实现重复业务
在这里插入图片描述
2.定义一个主类,用于实现主要业务,并利用注解@Before添加拦截器
在这里插入图片描述
3.利用Enhancer实现一个主类的子类,从而实现了AOP编程
在这里插入图片描述

标签:拦截器,Java,实现,AOP,织入,编译器,使用,JFinal
来源: https://blog.csdn.net/lillte_bird/article/details/120309851

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有