业务场景
在项目开发过程中,通常需要导入第三方jar包的时候需要加载到ioc容器中.
我们就要在启动类Application上使用@ComponentScan 这个注解来扫描第三方的包,然后就会出现报错,异常就是无法加载本地的某些类,例如某些Dao无法注入.
分析问题
本地类都没有被扫到ioc容器中,我们可以知道@SpringBootApplication 这个注解包含了@ComponentScan 它就会把启动类所在的包当作根路径,把下边所有符合的类扫描进ioc容器,那么我们现在知道了,就是这个注解的扫描功能失效了.
官方解决方案
可以在@ComponentScan 里边把本地的路径给加上,这样就可以解决问题了,即可以扫描第三方jar包又可以扫描本地的路径
解决例子
@ComponentScan({"cn.aaa","com.bbb.cloud"})
@SpringBootApplication
public class GatewaydemoApplication {
public static void main(String[] args) {
SpringApplication.run(GatewaydemoApplication.class, args);
}
}
cn.aaa是引入第三方jar包,com.bbb.cloud是启动类所在的根路径.
如果有更优雅的解决方案,可以联系我
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。