SpringBoot项目Spring没有扫描到注解

SpringBoot,今年才开始在生产项目使用。

今天遇到一个坑。

 

项目结构

   com.x.controller

   com.x.service

   com.x 下 入口 MainApp.java

 

把另外一个项目,整合进当前项目。

为了区别,controller和service直接放入x目录。

 

有个拦截器 DataPermissionInterceptor 

@Component 
@Aspect
@Slf4j
@Order(200)
public class DataPermissionInterceptor 

 

打了断点,没进去。

 

首先,想的是,是不是配置了 com.x 目录,发现没有。

然后,把com.y.DataPermissionInterceptor 移动到 com.x 目录,发现断点进去了。

因此,猜测 就是扫描包路径的问题。

 

心得

使用SpringBoot之类的框架,一定需要对启动 加载之类的原理机制 研究下。

不然遇到问题,根本想起来为啥。

源码之类的,是否需要读,可以根据个人情况。

 

网上参考了资料 

SpringBoot包扫描机制

https://blog.csdn.net/qq_34977342/article/details/82809369

 

“由于SpringBoot默认包扫描机制是:从启动类所在包开始,扫描当前包及其子包下的所有文件。”

MainApp的包是 com.x,因此只会扫描com.x 下面的包和类,不会扫描com.y下面的。

 

解决办法:

都放到com.x下,极简。

或者手动配置

@SpringBootApplication(scanBasePackages="com")
public class AccountApplication {

}

 

 

参考资料

SpringBoot包扫描机制

https://blog.csdn.net/qq_34977342/article/details/82809369

©️2020 CSDN 皮肤主题: 猿与汪的秘密 设计师: 上身试试 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值