学习swoft的第三天_AOP切面

Posted baozi-tudou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习swoft的第三天_AOP切面相关的知识,希望对你有一定的参考价值。

AOP切面

文档中是这么说的

技术图片

 

 好像除了说AOP是一种面向切面编程以外 也没有说什么

不过在AOP实现中 又说道aop的主要作用是在不侵入原有代码的情况下添加新的功能

技术图片

 

 技术图片

 

 其实如果你了解Java的话就会知道,切面的概念在Java中是很常用的,这里的切面跟Java中的应该差不多

还有就是aop跟中间件有点像

如果你用过tp 或者laravel 框架 里面有中间件的概念,中间间最多的用处是用来做权限检查等操作,中间件可以在路由中使用可以在控制器中使用,如果路由或控制器中添加有中间件  则在执行控制器方法之前 要先执行此控制器,这是前置中间件

然后回到切面

切面有几个概念

advice 通知 就是你要在切面执行的代码块

Pointcut切点 就是引入代码块的位置

aspect 切面 由切点和通知组成

技术图片

 

 

 

 

 

 

切面类的声明

在切面的声明中 有三种定义切点的方法

PointBean 定义目标类切点,被指定的类的所有方法都要执行切面 -- 相当于中间件指定控制器  控制器中所有方法都会执行此切面 

PointAnnotation  定义 注解类 切点,所有使用对应注解的方法均会通过该切面类代理

PointExecution 定义目标类方法 也就是 运行到指定方法时 会执行切面通知 -- 相当于中间件指定方法 只有指定方法会执行此切面

技术图片

 

 

 

通知类型 就是在什么时间执行此切面 

技术图片

 

 技术图片技术图片

 

 

 

 

技术图片

 

以上是关于学习swoft的第三天_AOP切面的主要内容,如果未能解决你的问题,请参考以下文章

swoft 切面AOP尝试

解析Spring第三天(面向切面AOP)

在Spring中使用AOP切面编程

第三章 : 面向切面编程(AOP)

spring框架学习——AOP( 面向切面编程)

Spring框架深入--AOP面向切面