Maven 搭建spring boot多模块项目

转载 2018年04月17日 16:30:52

转载自:https://segmentfault.com/a/1190000005020589


备注:所有项目都在idea中创建

1.idea创建maven项目

  • 1-1: 删除src,target目录,只保留pom.xml

  • 1-2: 根目录pom.xml可被子模块继承,因此项目只是demo,未考虑太多性能问题,所以将诸多依赖

    都写在根级`pom.xml`,子模块只需继承就可以使用。
  • 1-3: 根级pom.xml文件在附录1

  • 1-4: 依赖模块 mybatis spring-boot相关模块

2.创建子模块(module)

  • 2-1: file > new > module 输入 model

  • 2-2: file > new > module 输入 dao

  • 2-3: file > new > module 输入 service

  • 2-4: file > new > module 输入 webapi

3.修改子模块pom.xml配置

<?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">
    <parent>
        <artifactId>parent</artifactId>
        <groupId>com.luyh.projectv1</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>projectv1-model</artifactId>
</project>

注意:<font color="red"><relativePath>../pom.xml</relativePath></font>此段必须加上,用来继承父模块


至此,项目的基础结构搭建完毕了,接下来可以来撸代码了,哦哦稍等,我先介绍下各个子module的工作职责吧

4.子模块在项目中担任的'工作职责'

  • model 此模块存放着所有的实体类

  • dao 此模块存放着数据交互的具体实现,供service调用

  • service 此模块存放业务代码实现,供API层调用

  • webapi 此模块也可以不出现在项目中,为了写demo故将webapi层放进来

5.model层实体类编写

  • 建立包名 com.luyh.projectv1.model

  • 建实体类 Member.java 具体代码请clone我的git,git地址在最下方

6.dao层数据库操作层

  • 建立com.luyh.projectv1.dao.config,该包内只有2个让spring boot自动加载配置的配置java类

  • 建立MemberMapper.java 具体内容看代码

  • 在resources/mybatis 下建立MemberMapper.xml

  • 建立IMember.java

  • 建立Member.java 实现Imember接口

  • 建立resources/application.properties文件用于配置数据库连接

7. service 编写业务逻辑

  • 建立 com.luyh.projectv1.service 包

  • 建立IMemberService.java接口

  • 建立MemberService.java实现类

  • MemberService.java 类中自动注入DaoMember 并调用其方法获取数据

8. webapi 编写webapi获取json数据

  • 建立Application.java 启动应用

  • 建立 com.luyh.projectv1.webapi.controller.MemberController.java 写个rest风格Controller

  • 启动

9.sql文件 请自行导入mysql数据 sql文件


这里是项目地址,点击下载

附录1


<?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>

    <groupId>com.luyh.projectv1</groupId>
    <artifactId>parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.3.RELEASE</version>
    </parent>
    <modules>

        <module>model</module>
        <module>dao</module>
        <module>service</module>
        <module>webapi</module>
    </modules>
<!--申明依赖关系-->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.2.8</version>
        </dependency>

        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jdbc</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
    </dependencies>

    <!--设置maven仓库-->

    <repositories>
        <repository>
            <id>spring-releases</id>
            <url>https://repo.spring.io/libs-release</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-releases</id>
            <url>https://repo.spring.io/libs-release</url>
        </pluginRepository>
    </pluginRepositories>


</project>


Springboot多模块maven配置实例

  • 2017年11月19日 22:52
  • 27.41MB
  • 下载

Maven进行springBoot多模块项目搭建

本文章旨在说明搭建springBoot多模块项目构建存在的一些问题以及如何改正! 一、在eclipse下搭建Maven项目  eclipse以及Maven的安装省略。新建Maven项目:1点击【n...
  • qq_30401659
  • qq_30401659
  • 2018-01-20 21:01:29
  • 764

SpringBoot创建maven多模块项目(实战)

SpringBoot创建maven多模块项目(实战) 工作中一直都是一个人奋战一人一个项目,使用maven管理,看这个也挺好,但是总感觉没有充分发挥maven的功能,于是研究了一下这个,网上关于这...
  • Message_lx
  • Message_lx
  • 2017-01-20 17:54:57
  • 33344

Maven构建一个多模块的Spring Boot + Spring MVC项目,完全基于java config

使用Maven构建一个多模块的Spring MVC + Spring Boot项目,完全基于java config 一、新建一个maven项目,模板使用quickstart,项目名multib...
  • luenxin
  • luenxin
  • 2015-11-27 13:07:50
  • 26520

springBoot创建多模块(一)

目录在springboot 配置多个模块,难点就在 每一个模块应该怎么配置 pom,根目录pom新建一个 spring initialization 项目,取名为 ch22 这个总工程的 pom.x...
  • sinat_27639721
  • sinat_27639721
  • 2017-10-11 16:48:55
  • 910

springboot构建maven多模块工程

一 .创建父工程: 1.首先使用 Spring Initializr 来快速创建好一个Maven工程。然后删除无关的文件,只需保留pom.xml 文件。 然后在 pom.xml...
  • zhaokejin521
  • zhaokejin521
  • 2018-01-27 20:38:04
  • 816

IDEA创建多个模块MavenSpringBoot项目

最近在学习springboot,先从创建项目开始,一般项目都是一个项目下会有多个模块,这里先创建一个最简单的实例,一个项目下有一个springboot模块项目提供web服务,引用另一个java项目(相...
  • WillJGL
  • WillJGL
  • 2017-09-01 15:25:46
  • 7467

Springboot多模块 整合 mybatis maven项目

  • 2018年01月27日 19:41
  • 42.21MB
  • 下载

SpringBoot+Maven 多模块项目的构建、运行、打包

项目使用的工具:IntelliJ IDEAJDK 1.8apache-maven-3.3.9项目的目录:主项目 springboot-multi子模块 entity、dao、service、web一、...
  • zekeTao
  • zekeTao
  • 2018-03-01 16:09:26
  • 401

Springboot 多模块 整合 Mybatis maven项目

Springboot 多模块 整合 Mybatis maven项目 在我的世界里没有转载只有原创 下载地址:http://download.csdn.net/downloa...
  • qq_38425662
  • qq_38425662
  • 2018-01-27 19:46:41
  • 257
收藏助手
不良信息举报
您举报文章:Maven 搭建spring boot多模块项目
举报原因:
原因补充:

(最多只允许输入30个字)