springboot扫描引⼊jar包的service等组件⽅式
在pom中引⼊对应的依赖,如果引⼊的三⽅jar包跟该项⽬Application所在包⽬录包含被依赖jar包⽬录,
即下⾯的情况:
像上⾯这种包组织的话,是不需要额外加⼊任何配置的(前提是依赖jar包相应组件⼀定要有@Component等注解修饰),因为springboot项⽬默认扫描⽬录就是Application所在⽬录及⼦⽬录,但是这种情况仅限于单个项⽬安排,项⽬⼤了就不⼀定满⾜了,
这时可以通过下⾯的⽅式引⼊扫描路径:
或者通过@ComponentScan注解也可以,需要注意的是不要忘了扫描⾃⾝项⽬,因为加⼊@ComponentScan等注解后相当于没有任何其他扫描⽬录了,只按照指定的⽬录扫描
spring怎么读取jar文件springboot扫描不到依赖项⽬的service
场景:
有⼀个公共项⽬api_datasync.要扫描的类在com.apimon包下,现在有⼀个项⽬userauth,依赖了公共项⽬api_datasync.,Application启动类在包com.base.userauth下,启动后不到capi_datasync项⽬中的类
解决办法:
在Application启动类添加注解@ComponentScan(value=”com”)即可解决问题,或者配置扫描多个包
@ComponentScan(basePackages= {“com.base.userauth”,”com.apimon”})
添加注解后,spring将只扫描注解配置的包,不再⾃动扫描启动类所在包及⼦包下的⽂件
注意:springboot 默认扫描的路径,是该⼯程application启动类所在包以及所有⼦包下的所有⽂件。
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。