springboot如何新建aop切面
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,springboot如何新建aop切面,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。springboot引入AOP主要是分为以下几步:引
千家信息网最后更新 2025年12月01日springboot如何新建aop切面
springboot如何新建aop切面,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
springboot引入AOP
主要是分为以下几步:
引入相关的依赖
新建一个切面
编写相应的切点和通知
引入相关的依赖
除了web的包之外,还需要引一个aop相关的starter相关的包
compile group: 'org.springframework.boot', name: 'spring-boot-starter-aop', version: '2.2.0.RELEASE'
新建切面
通俗来讲,一个切面有两个部分组成
1是对哪些方法做修改,加强,注入等等,都是一个意思
2是对这些方法做什么样的修改,执行前,执行后,执行前后等等
/*** 声明一个切面,只用加一个@Aspect注解就可以了* 还有个注解@Component是声明这个类为Spring的bean*/@Aspect@Componentpublic class TestAspect {/*** 切面的组成部分之一,告诉程序要对哪些方法进行操作* 在本DEMO中直接指定了一个方法,推荐后续用注解的方式去找方法* 在现在注解盛行的时代,这样根据方法名去找方法的用处已经不多了* 更多的是通过某个注解去找到对应的方法,后续也会有DEMOb出来*/@Pointcut("execution(public * cloud.javastudy.demo.controller.TestController.testAspect(..))")public void testPointcut(){}/*** 对找到的方法进行修改* 有@Around,对方法执行前后进行修改* 有@Before, 在方法执行前进行修改* 有@After, 在方法执行后进行修改* 有@AfterReturning, 在方法返回后进行修改* 有@AfterThrowing, 在方法抛出异常后修改* 常用的是@Around,常用于对方法体加 Try-catch,对方法执行计时,对方法入参,返回做日志记录等等*/@Around("testPointcut()")public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable {System.out.println("before pointcut");Object proceed = joinPoint.proceed();System.out.println("after pointcut");return proceed;}}
被测试的方法
package cloud.javastudy.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class TestController {/*** 测试被切面的方法* @return*/@RequestMapping("test/testAspect")public String testAspect(){System.out.println("in method");return "OK";}}
结果输出:
AOP是spring的两大特性之一,相对比于以前spring用xml复杂的声明,在springboot中使用aop只用引一个依赖,新建一个切面类就可以解决了, 简单的demo很简单,真正使用还是要好好琢磨下,如在使用Around时,复杂的逻辑要记得新开一个子线程来处理,我就曾经在记录redis的key命中时,因为是没有异步记录,导致redis出奇的慢,加油吧少年!
看完上述内容,你们掌握springboot如何新建aop切面的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
方法
切面
注解
更多
面的
复杂
内容
部分
问题
测试
出奇
通俗
束手无策
为此
两个
个子
切点
原因
对此
少年
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
苹果手机指纹存在数据库吗
软件开发工时评估标准
网络技术应用实验心得
阿里云服务器个人怎么买
软件开发模型 图
app软件开发sh
精英网络技术咨询联系人
深圳最好的软件开发
西安西西弗斯软件开发哪家好
各国软件开发生产率
嘉兴华荣网络技术
云服务器怎么越来越火
网络安全合规指引书
数据库和数据库对接
网络技术展会价格定位
数据库第一范式怎么区分
数据库应用技术上机实验报告总结
软件开发进阶系列为什么要编码
嘉亨软件开发有限公司
登陆平台服务器失败
网络技术班级风采
app软件开发sh
续签软件开发合同
国家网络安全条令
网络安全产业园 黑龙江
深圳软件开发哪家正规
怎么设置数据库的自动递增
最新网络安全研究
嘉亨软件开发有限公司
客服说违反网络安全法已备案