美文网首页
转:SpringBoot 多模块项目(module)Servic

转:SpringBoot 多模块项目(module)Servic

作者: crMiao | 来源:发表于2019-05-28 19:55 被阅读0次

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

相关文章

网友评论

      本文标题:转:SpringBoot 多模块项目(module)Servic

      本文链接:https://www.haomeiwen.com/subject/ifejtctx.html