学习swoft的第三天_AOP切面

AOP切面

文档中是这么说的

 

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

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

 

 

 

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

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

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

然后回到切面

切面有几个概念

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

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

aspect 切面 由切点和通知组成

 

 

 

 

 

 

切面类的声明

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

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

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

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

 

 

 

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

 

 

 

 

 

 

 

posted @ 2020-05-27 14:30  包子心的土豆  阅读(242)  评论(0编辑  收藏  举报