Spring Boot 2 多模块项目搭建
- 新建一个Maven父项目spring-boot-parent,继承spring-boot-starter-parent,
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
修改打包方式:
<packaging>pom</packaging>
引入需要的依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
- 新建子模块spring-boot-pojo(可以直接用IDEA 新建一个springboot项目:File->New->Module->Spring Initializr,然后再修改),添加父项目
<parent>
<groupId>com.multi</groupId>
<artifactId>spring-boot-parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
删除SpringBoot Maven插件(非服务模块都要删除)
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
同样方式创建spring-boot-dao模块(继承spring-boot-parent父模块,依赖spring-boot-pojo模块,删除springboot maven插件)
<dependencies>
<dependency>
<groupId>com.multi</groupId>
<artifactId>spring-boot-pojo</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!--<scope>runtime</scope>-->
</dependency>
</dependencies>
- 新建一个springboot模块spring-boot-service,修改父模块继承关系,
<parent>
<groupId>com.multi</groupId>
<artifactId>spring-boot-parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
添加子模块依赖:
<dependency>
<groupId>com.multi</groupId>
<artifactId>spring-boot-pojo</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.multi</groupId>
<artifactId>spring-boot-dao</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
设置mapper扫描位置
@SpringBootApplication
@MapperScan(value = "com.multi.dao")//指定mapper扫描位置,否则启动无法注入mapper的bean
public class SpringBootServiceApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootServiceApplication.class, args);
}
}
注:这里为了方便测试,.就直接在service模块里写controller进行简单测试了.
maven 打包成功:
代码地址:
GitHub
码云
因个人能力有限,如有不足或错误,欢迎指正~