主要是利用
springboot
的注解@SpringBootApplication
里的属性scanBasePackages
现在有一个通用模块common
,里面有@Service
等注解,如果要在 另一个模块project
下注入common
模块的@Service
,那么在模块project
里面的启动类ProjectApplication
添加上注解@SpringBootApplication(scanBasePackages = "com.example.**")
此处包名com.example.**
要两模块都含有com.example
而且通配符是用的两个*
号,这样就可以在project
模块里像用自己模块的注解一样了。
另外我们的项目用到了mybatis-plus
,在mybatis-plus
的配置类里面的mapper
扫描注解里这样写:@MapperScan(value = "com.example.**.mapper")
,我是把mybatis-plus
的配置类放在common
模块下了的,当然也可以放到project
模块下,但是在springboot
多模块的模式下,就需要在每个模块下写一次mybatis-plus
的配置类。按照这样的通配写法,就能同时扫描到common
和project
模块下的mapper
类。
此外还要在配置中修改mybatis-plus.mapper-locations = classpath:/mapper/*Mapper.xml
为mybatis-plus.mapper-locations = classpath*:/mapper/*Mapper.xml