SpringBoot,今年才开始在生产项目使用。
今天遇到一个坑。
项目结构
下 入口
把另外一个项目,整合进当前项目。
为了区别,controller和service直接放入x目录。
有个拦截器 DataPermissionInterceptor
@Component
@Aspect
@Slf4j
@Order(200)
public class DataPermissionInterceptor
打了断点,没进去。
首先,想的是,是不是配置了 目录,发现没有。
然后,把 移动到 目录,发现断点进去了。
因此,猜测 就是扫描包路径的问题。
心得
使用SpringBoot之类的框架,一定需要对启动 加载之类的原理机制 研究下。
不然遇到问题,根本想起来为啥。
源码之类的,是否需要读,可以根据个人情况。
网上参考了资料
SpringBoot包扫描机制
/qq_34977342/article/details/82809369
“由于SpringBoot默认包扫描机制是:从启动类所在包开始,扫描当前包及其子包下的所有文件。”
MainApp的包是 ,因此只会扫描 下面的包和类,不会扫描下面的。
解决办法:
都放到下,极简。
或者手动配置
@SpringBootApplication(scanBasePackages="com")
public class AccountApplication {
}
参考资料
SpringBoot包扫描机制
/qq_34977342/article/details/82809369