今天学了springcloud的时候用idea合并多个项目,结果发现了一直调用不到接口,于是换成最基础的springboot试试看,踩了一个大坑,我的项目路径是这样子的

springboot扫描controller扫描不到,调用不到接口

controller写了一个最简单的直接返回

springboot扫描controller扫描不到,调用不到接口

结果发现调不通controller层,而且controller层不认为是一个bean,也就是注入失败

springboot扫描controller扫描不到,调用不到接口

然后我直接在springboot启动main方法那里加了包扫描则可以

springboot扫描controller扫描不到,调用不到接口springboot扫描controller扫描不到,调用不到接口

springboot扫描controller扫描不到,调用不到接口

如图,加了包扫描之后是一个普通的bean,扫描得到,也可以调用得到,那么问题来了究竟为什么它扫描不到这个controller,我换了一下项目结果发现它就可以了

springboot扫描controller扫描不到,调用不到接口

感觉application默认扫描的是当前它的目录下面的,假如application是在一个包内,而controller是在另外一个包内的话则扫描不到

 

相关文章: