学习swoft的第三天_AOP切面
AOP切面
文档中是这么说的
好像除了说AOP是一种面向切面编程以外 也没有说什么
不过在AOP实现中 又说道aop的主要作用是在不侵入原有代码的情况下添加新的功能
其实如果你了解Java的话就会知道,切面的概念在Java中是很常用的,这里的切面跟Java中的应该差不多
还有就是aop跟中间件有点像
如果你用过tp 或者laravel 框架 里面有中间件的概念,中间间最多的用处是用来做权限检查等操作,中间件可以在路由中使用可以在控制器中使用,如果路由或控制器中添加有中间件 则在执行控制器方法之前 要先执行此控制器,这是前置中间件
然后回到切面
切面有几个概念
advice 通知 就是你要在切面执行的代码块
Pointcut切点 就是引入代码块的位置
aspect 切面 由切点和通知组成
切面类的声明
在切面的声明中 有三种定义切点的方法
PointBean 定义目标类切点,被指定的类的所有方法都要执行切面 -- 相当于中间件指定控制器 控制器中所有方法都会执行此切面
PointAnnotation 定义 注解类 切点,所有使用对应注解的方法均会通过该切面类代理
PointExecution 定义目标类方法 也就是 运行到指定方法时 会执行切面通知 -- 相当于中间件指定方法 只有指定方法会执行此切面
通知类型 就是在什么时间执行此切面
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器