废话不说先上最终效果:创建一个空项目,再创建一个父项目用来管理各模块并维护各模块关系,简要说明如下:

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 构建多模块工程的更多相关文章

  1. Springboot & Mybatis 构建restful 服务

    Springboot & Mybatis 构建restful 服务一 1 前置条件 jdk测试:java -version maven测试:命令行之行mvn -v eclipse及maven插 ...

  2. SpringCloud核心教程 | 第二篇: 使用Intellij中的maven来快速构建Spring Cloud工程

    spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运行环 ...

  3. Springboot & Mybatis 构建restful 服务二

    Springboot & Mybatis 构建restful 服务二 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务一 2 restful ...

  4. Springboot & Mybatis 构建restful 服务五

    Springboot & Mybatis 构建restful 服务五 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务四 2 restful ...

  5. Springboot & Mybatis 构建restful 服务四

    Springboot & Mybatis 构建restful 服务四 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务三 2 restful ...

  6. Springboot & Mybatis 构建restful 服务三

    Springboot & Mybatis 构建restful 服务三 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务二 2 restful ...

  7. SpringBoot+Gradle构建多模块项目

    1 概述 Gradle由于构建速度比Maven快,且比Maven灵活,因此很多后端的应用都使用了Gradle进行构建,但一个问题是,Gradle的多模块项目比较难构建,再加上Gradle的更新非常快, ...

  8. Jenkins+Git+Maven构建并部署springboot(构建多模块中的单个模块)

    主要思路:1.jenkins从git中拉取项目源码:jenkins使用maven构建并将生成的jar包通过shell脚本启动. 环境:环境:Centos7.Maven3.5.3.git(单机) 准备工 ...

  9. idea+maven+springboot+mybatis

    确认maven环境,安装maven在这里就不赘述了. 在idea新建maven项目 下图中填上你Maven安装的目录 打开pom文件,导入jar包(手动敲入/拷贝) 下面是配置之后的pom文件内容 & ...

随机推荐

  1. Flutter InkWell - Flutter每周一组件

    Flutter Inkwell使用详解 该文章属于[Flutter每周一组件]系列,其它组件可以查看该系列下的文章,该系列会不间断更新:所有组件的demo已经上传值Github: https://gi ...

  2. 【Git】命令思维导图

    Git命令思维导图

  3. k8s之深入解剖Pod(三)

    目录: Pod的调度 Pod的扩容和缩容 Pod的滚动升级 一.Pod的调度 Pod只是容器的载体,通常需要通过RC.Deployment.DaemonSet.Job等对象来完成Pod的调度和自动控制 ...

  4. EF生成模型时Disigner中无信息

    原博文 http://blog.sina.com.cn/s/blog_a1b63a730101ezs4.html 说明 DbContext是对ObjectContext的简化封装.原来的ObjectC ...

  5. matplotlib学习日记(十)-共享绘图区域的坐标轴

    (1)共享单一绘图区域的坐标轴 ''' 上一讲介绍了画布的划分,有时候想将多张图放在同一个绘图区域, 不想在每个绘图区域只绘制一幅图形,这时候借助共享坐标轴的方法实现在一个绘图区 绘制多幅图形的目的. ...

  6. 容器编排系统K8s之PV、PVC、SC资源

    前文我们聊到了k8s中给Pod添加存储卷相关话题,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14180752.html:今天我们来聊一下持久存储卷相关话题 ...

  7. flowable 任务多实例

    项目地址:https://gitee.com/lwj/flowable.git 分支flowable-base*业务场景:收集每个员工的绩效考核信息:收集一次组织活动的信息:一个合同需要三个经理审批, ...

  8. 扫盲:Kotlin 的泛型

    引子 相信总是有很多同学,总是在抱怨泛型无论怎么学习,都只是停留在一个简单使用的水平,所以一直为此而备受苦恼. Kotlin 作为一门能和 Java 相互调用的语言,自然也支持泛型,不过 Kotlin ...

  9. 安装cmake过程g++: 错误:unrecognized command line option ‘-std=gnu++14’

    问题根因 这个错误一般是gcc/g++版本太低导致的 疑问 我本地明明安装的是高版本的gcc/g++为何说是低版本的呢,有图为证: 这主要是因为你安装了多个版本的gcc/g++,但是默认(/usr/b ...

  10. C++作用域限定符:private/public与protected

    C++的作用域限定符其实涉及到了C++特性中的封装和继承. public/private:涉及类的封装特性.对于一个类需要对外展示的部分,我们可以将其声明为public,对于不希望对外展示的,我们将其 ...