一、前言
记录在IDEA中怎么搭建SpringBoot多模块(module)的过程,以一个交党费的项目为例,多模块的目录结构如下:
dajia-dangfei-api:存放实体类和一些service层接口
dajia-dangfei-provider:存放dao层接口及其实现类和service的实现类
dajia-dangfei-consumer:存放controller层
dajia-dangfei-web:存放前端页面等资源
二、搭建步骤
1、创建父工程
① IDEA 工具栏选择菜单 File -> New -> Project...
② 选择Spring Initializr,Initializr默认选择Default,点击Next
③ 填写输入框,点击Next
④ 这步不需要选择直接点Next
⑤ 点击Finish创建项目
⑥ 最终得到的项目目录结构如下
⑦ 删除无用的.mvn目录、src目录、mvnw及mvnw.cmd文件,最终只留.gitignore和pom.xml
2、创建子模块
① 选择项目根目录dajia-dangfei右键呼出菜单,选择New -> Module
② 选择Maven,点击Next
③ 填写ArifactId,点击Next
④ 修改Module name增加横杠提升可读性,点击Finish
⑤ 同理添加dajia-dangfei-provider、dajia-dangfei-consumer子模块,项目目录结构如下图
⑥添加dajia-dangfei-web的directory
⑦最终的目录结构如下
3、运行项目
① 在dajia-dangfei-consumer中创建com.dajia.income包,添加入口类ConsumerApplicationMain.java,并在income包下创建controller包放BillOrderController.java,目录结构如下
ConsumerApplicationMain.java:
@SpringBootApplication public class ConsumerApplicationMain { public static void main(String[] args) { SpringApplication.run(ConsumerApplicationMain.class,args); } }
因为要通过前端访问BillOrderController中的方法,所以引入spring-boot-starter-web的jar包,在父工程的pom文件中定义,子模块自然可以用到
父工程dajia-dangfei的pom文件:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <packaging>pom</packaging> <modules> <module>dajia-dangfei-api</module> <module>dajia-dangfei-provider</module> <module>dajia-dangfei-consumer</module> </modules> <parent> <groupId>org.springframework.boot</groupId>