面向切面编程
案例:自动申请权限判断与申请框架
代码:https://gitee.com/luisliuyi/aspectj-permission
案例:埋点自动上传管理框架
代码:https://gitee.com/luisliuyi/aspectj-upload-point
AspectJ是什么?
AspectJ是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法,它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。
AspectJ框架三大核心概念
1.Pointcut(切入点)
告诉AspectJ你要在原有的业务逻辑的某一块织入自己的代码,织入的那个点就叫切入点。
2.Advice(通知)
你要在某个切入点织入的具体的代码的业务逻辑块。典型的 Advice 类型有before、after 和 around,分别表示在目标方法执行之前、执行后和完全替代目标方法执行的代码。 除了在方法中注入代码,也可能会对代码做其他修改,比如在一个class中增加字段或者接口。
3.Joint point(连接点)
程序中可能作为代码注入目标的特定的点,例如一个方法调用或者方法入口。
网友评论