最近公司项目准备开始重构,框架选定为SpringBoot+Mybatis,本篇主要记录了在IDEA中搭建SpringBoot多模块项目的过程。
1、开发工具及系统环境IDE:IntelliJ IDEA 2018.2系统环境:mac OSX2、项目目录结构biz层:业务逻辑层dao层:数据持久层web层:请求处理层二、搭建步骤1、创建父工程① IDEA 工具栏选择菜单 File -> New -> Project...
② 选择Spring Initializr,Initializr默认选择Default,点击Next
③ 填写输入框,点击Next
④ 这步不需要选择直接点Next
⑤ 点击Finish创建项目
⑥ 最终得到的项目目录结构如下
⑦ 删除无用的.mvn目录、src目录、mvnw及mvnw.cmd文件,最终只留.gitignore和pom.xml
2、创建子模块① 选择项目根目录beta右键呼出菜单,选择New -> Module
② 选择Maven,点击Next
③ 填写ArifactId,点击Next
④ 修改Module name增加横杠提升可读性,点击Finish
⑤ 同理添加【beta-dao】、【beta-web】子模块,最终得到项目目录结构如下图
3、运行项目① 在beta-web层创建com.yibao.beta.web包(注意:这是多层目录结构并非单个目录名,com >> yibao >> beta >> web)并添加入口类BetaWebApplication.java
package com.yibao.beta.web;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;/** * @author linjian * @date 2018/9/29 */@SpringBootApplicationpublic class BetaWebApplication {public static void main(String[] args) {SpringApplication.run(BetaWebApplication.class, args);}}② 在com.yibao.beta.web包中添加controller目录并新建一个controller,添加test方法测试接口是否可以正常访问
package com.yibao.beta.web.controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/** * @author linjian * @date 2018/9/29 */@RestController@RequestMapping("demo")public class DemoController {@GetMapping("test")public String test() {return "Hello World!";}}③ 运行BetaWebApplication类中的main方法启动项目,默认端口为8080,访问http://localhost:8080/demo/test得到如下效果
以上虽然项目能正常启动,但是模块间的依赖关系却还未添加,下面继续完善
4、配置模块间的依赖关系各个子模块的依赖关系:biz层依赖dao层,web层依赖biz层
① 父pom文件中