springboot解决多模块注入问题

如果你因为Service注入失败,看过无数文章,甚至看过N份源码仍不得要领,希望我能终结你的问题;

SpringBoot中Service自动注入很方便,例:

Service.class(接口类)

ServiceImpl.class(实现类)

Controller.class(使用类)

用以上三个类来说一下自动注入:

单项目:分别ServiceImpl头上@Service,Controller中Service对象@Autowired即可享用;

Multi modules 场景,三个(种)类分别在三个module下:

moduleA : Service.class(com.example.moduleA )

moduleB : ServiceImpl.class ( com.example.moduleB )

moduleC : Controller.class ( com.example.moduleC )

此时B依赖A,C依赖A、B,添加好依赖关系。

如何自动注入?

1、接口、实现、使用类,姿势不变,按单项目方式写即可;

2、在moduleC的Application中做手脚!

如果你已经试过scanBasePackages,无论是在@SpringBootApplication方式还是@ComponentScan;

抑或试过@SpringBootApplication、@ComponentScan同时用,当你这么做时,一定是绝望的。

解决办法@SpringBootApplictaion(scanBasePackages=“com.example”)

核心就是:

Service 及 ServiceImpl均需在com.example包下

因为Service、ServiceImpl同在com.example下(C可以不在),所以我看作是同一次scan过程;

比如若是这样写scanBasePackages={" com.example.moduleA , com.example.moduleB "},则会失败;

当然(@ComponentScan=“com.example”)也是可以的,因为前者@SpringBootApplication已经包含@ComponentScan;

真相大白,相信这样很清楚了

献给还在摸索的小伙伴。

版权声明:本文为博主原创文章,转载请附原文地址,谢谢 https://blog.csdn.net/machuang30508/article/details/78616501

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值