SpringBoot中创建的AOP不生效的原因

本文探讨了SpringBoot项目中AOP切面不生效的问题,揭示了主程序扫描范围导致的问题根源,并提供了通过@ComponentScan解决该问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    最近在学习SpringBoot,今天学习了Aop的注册方式,原理很简单,配置也很简单,但是我注册了切面之后切面一直不生效,是为什么呢?查了好久的资料终于发现了原因,可以看下图我的切面注册类并没有问题

然后在网上偶然看到可能是主程序扫描的原因,才发现了原因,可以看到我的显示方式本来是flat的,那样的话就很难找出原因了

修改为hirerchical就可以很清楚的看出问题

可以看出,我的主程序和切面类并不在一个包中,那么主程序扫描不到切面类,自然就不会注册切面了,最简单的解决方式就是在主程序中添加一个注解@ComponentScan

那么我们就能对springboot有更深入的认识,其实他相对于ssm所有的简化步骤关键在于主程序,他起到了一个封装加载的步骤,不主动声明的情况下他会扫描和自己在同一个包下面的所有类,并根据注解自动注册,那么以后写项目时最好的方式就是将主程序放在主包下,然后所有的这些类都放在子包中即可

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值