Maven + springboot + mybatis 构建多模块工程
废话不说先上最终效果:创建一个空项目,再创建一个父项目用来管理各模块并维护各模块关系,简要说明如下:
parent模块:主要用来管理以下各模块,和各模块涉及的jar包版本和boot项目入口级的的依赖管理,当然这部分也可以放在web模块中,只管理版本信息即可;
commons模块:主要存放一些常用的工具类,包含自定义的和第三方引用的;
config模块:主要存放和项目相关的第三方配置,比如Redis、async等;
web模块:主要存放接口入口,也就是controller层;
service模块:主要存放接口实现,用来处理业务逻辑;
dao模块:主要存放mapper文件和mapper.xml文件,用来处理数据库操作(CRUD);
domain模块:主要存放业务逻辑涉及的所有POJO类;
dto模块:主要存储前后端业务交互传参对象POJO类,避免因业务需求在domain中增加各种各样的属性。

开始搭建:
第一步:创建一个空项目,点击next输入自己的项目名和项目路径,点击finish,会弹出第二步的操作界面;

-----

第二步:创建管理项目即父模块,用来管理各子模块并维护父子关系,在第一步finish之后会弹出提示框,
点击“+”号选择 New Module,弹出提示框,
点击左侧选择 Maven,上方选择JDK版本,右侧勾选Create from archetype并选择下边的maven-archetype,不要选错了,
点击next,输入自己的项目信息,
点击next,选择自己的maven配置信息,
点击next,输入自己的模块信息尽量名称结构清晰可读性高,比如XXX-parent,点击finish,在点击ok;

------

-------

父模块创建完成如下图:

第三步:在父模块文件夹上边右击创建子模块,步骤和第二步差不多,
点击左侧选择 Maven,上方选择JDK版本,右侧勾选Create from archetype并选择下边的maven-archetype-quickstart,不要选错了,
点击next,选择右上角“...”选择第二步创建的父模块pom关系,
点击next,选择自己的maven配置信息,
点击next,输入自己的模块信息尽量名称结构清晰可读性高,比如XXX-domain,点击finish完成子模块创建,
在子模块中创建普通java项目目录结构,
点击左上角 File 选择 Project Structure 将子模块目录设置为 Source,
在文件夹下边创建domainPOJO类。

------

-------

子模块创建完成如下图所示:


第四步:参考第三步完成其余除web模块之外的其余模块的创建;
第五步:创建web模块:
在父模块文件夹上边右击创建子模块,步骤和第二步差不多,
点击左侧选择 Maven,上方选择JDK版本,右侧勾选Create from archetype并选择下边的maven-archetype-webapp,不要选错了,
根据提示一直next到finish,等待项目构建完成。
第六步:构建关系,比如说service模块依赖dao,dto,domain,commons模块,可参考如下图配置依赖:
其余的根据使用情况自己引用,自由发挥。

第七步:maven打包:
除web之外的子模块pom文件中配置如下:因为最后需要将web项目运行起来所以需要打包成可执行文件,
在右侧maven边栏,找到parent的maven结构,点击clean,再点击packge即可成功打包,
如果打包失败可先对各个模块进行clean并install,完成之后再次执行打包,
cmd dos窗口java -jar XXXX-web.jar,运行项目

-------

finally:构建完成后就是普通java工程师可以搞定的事情了~~~写接口,配置数据库....一些列高深的CRUD骚操作搞起来~~~

需要源码可以联系我....QQ:314921249
Maven + springboot + mybatis 构建多模块工程的更多相关文章
- Springboot & Mybatis 构建restful 服务
Springboot & Mybatis 构建restful 服务一 1 前置条件 jdk测试:java -version maven测试:命令行之行mvn -v eclipse及maven插 ...
- SpringCloud核心教程 | 第二篇: 使用Intellij中的maven来快速构建Spring Cloud工程
spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运行环 ...
- Springboot & Mybatis 构建restful 服务二
Springboot & Mybatis 构建restful 服务二 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务一 2 restful ...
- Springboot & Mybatis 构建restful 服务五
Springboot & Mybatis 构建restful 服务五 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务四 2 restful ...
- Springboot & Mybatis 构建restful 服务四
Springboot & Mybatis 构建restful 服务四 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务三 2 restful ...
- Springboot & Mybatis 构建restful 服务三
Springboot & Mybatis 构建restful 服务三 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务二 2 restful ...
- SpringBoot+Gradle构建多模块项目
1 概述 Gradle由于构建速度比Maven快,且比Maven灵活,因此很多后端的应用都使用了Gradle进行构建,但一个问题是,Gradle的多模块项目比较难构建,再加上Gradle的更新非常快, ...
- Jenkins+Git+Maven构建并部署springboot(构建多模块中的单个模块)
主要思路:1.jenkins从git中拉取项目源码:jenkins使用maven构建并将生成的jar包通过shell脚本启动. 环境:环境:Centos7.Maven3.5.3.git(单机) 准备工 ...
- idea+maven+springboot+mybatis
确认maven环境,安装maven在这里就不赘述了. 在idea新建maven项目 下图中填上你Maven安装的目录 打开pom文件,导入jar包(手动敲入/拷贝) 下面是配置之后的pom文件内容 & ...
随机推荐
- [IOI1994]The Castle
开了博客之后一直没动今天水完题手痒想起这个就来水一篇陈年水题(雾 题目链接<< 题意:给一张n*m个格子的地图信息,求连通块个数以及最大连通块面积. 每个格子四个方向可以有墙,输入用一个十 ...
- angular 8 表单带文件上传接口
<div id="homework"> <form (ngSubmit)="doSubmit()" enctype="multipa ...
- 图解HTTP权威指南 | HTTP报文
一.问题 1.报文流是如何流动的 2.H ...
- 简丽Framework-开篇
简丽Framework-开篇 简丽Framework 是一个开源java Web开发框架. 开源的框架.库.组件等比比皆是,每个开源产品都有它的定位和价值. 简丽Framework的定位是 ...
- 要多用Java帮助文档
从第一次接触Java到现在,大概两年了吧,间断断续续的学习.毕竟还在上课,其他课程也挺耗时间,但更多的还是自己不自律,很多时间都在玩. 平时用的有eclipse和IDEA,使用快捷方式有时看看源码,也 ...
- redis scan 命令指南
redis scan 命令指南 1. 模糊查询键值 redis 中模糊查询key有 keys,scan等,一下是一些具体用法. -- 命令用法:keys [pattern] keys name* -- ...
- JAVA NIO Selector Channel
These four events are represented by the four SelectionKey constants: SelectionKey.OP_CONNECT Select ...
- File对象目录列表器
/****File对象即能代表一个文件又能代表一组目录下的特定文件集:如果它代表一组文件那可以用list方法返回一组字符数组,数组内的对象是该目录下的符合条件的每个文件. 为什么说符合条件下这个前提呢 ...
- 自动化运维工具-Ansible之6-Jinja2模板
自动化运维工具-Ansible之6-Jinja2模板 目录 自动化运维工具-Ansible之6-Jinja2模板 Ansible Jinja2模板概述 Ansible Jinja2模板使用 Ansib ...
- 关于git的一些零碎知识
git文件的三个状态:已修改,已暂存,已提交git的三个区域: 工作区,暂存区,对象库 git的几个指针(以master为例) 远程有个master,本地有个master,本地有个指针是指向远程的ma ...