springboot扫描引入jar包的service等组件方式
作者:PolarisHuster
这篇文章主要介绍了springboot扫描引入jar包的service等组件方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
在pom中引入对应的依赖,如果引入的三方jar包跟该项目Application所在包目录包含被依赖jar包目录,
即下面的情况:
像上面这种包组织的话,是不需要额外加入任何配置的(前提是依赖jar包相应组件一定要有@Component等注解修饰),因为springboot项目默认扫描目录就是Application所在目录及子目录,但是这种情况仅限于单个项目安排,项目大了就不一定满足了,
这时可以通过下面的方式引入扫描路径:
或者通过@ComponentScan注解也可以,需要注意的是不要忘了扫描自身项目,因为加入@ComponentScan等注解后相当于没有任何其他扫描目录了,只按照指定的目录扫描!!!
springboot扫描不到依赖项目的service
场景:
有一个公共项目api_datasync.要扫描的类在com.api.common包下,现在有一个项目userauth,依赖了公共项目api_datasync.,Application启动类在包com.base.userauth下,启动后找不到capi_datasync项目中的类
解决办法:
在Application启动类添加注解@ComponentScan(value=”com”)即可解决问题,或者配置扫描多个包
@ComponentScan(basePackages= {“com.base.userauth”,”com.api.common”})
添加注解后,spring将只扫描注解配置的包,不再自动扫描启动类所在包及子包下的文件
注意:springboot 默认扫描的路径,是该工程application启动类所在包以及所有子包下的所有文件。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。