美文网首页
maven 搭建一个多模块的spring-boot web项目

maven 搭建一个多模块的spring-boot web项目

作者: ambition_timid | 来源:发表于2019-06-26 11:50 被阅读0次

    什么是敏捷开发

    学习的过程建议也采用敏捷开发的思想。
    比如本篇博客的写作过程,不要想着一次性把所有东西搞定之后再来实践。
    而是按照迭代的过程来,每次学习其中的一块内容,否则容易陷入只动脑子不动手的陷阱中。
    学习的过程中,不要因为其他的而打乱当前的计划。
    比如计划学习后端,那就不要突然因为自己前端也不会而去学习前端的知识。

    为什么要搭建一个多模块的项目

    简单来说是为了方便集群化部署。

    SpringBoot布道系列 | 目录汇总 | 2019持续更新ing

    目录

    1. 搭建一个web项目,通常包含api,service,dao,common,test 共5个模块
    2. 日志处理,日志框架配置项,与切面编程的结合
    3. api层:阮一峰:RESTful API 设计指南 流量控制,访问控制,参数检测
    4. service层:逻辑控制
    5. dao层:数据库和框架的配置
    6. test层:测试实例如何编写
    7. 前端的框架学习

    环境搭建

    1. 采用IDEA搭建一个多模块的web项目,首先下载安装IDEA和JDK1.8。
    2. File->new Project -> Maven
      GroupId为域名的反写,如com.XXX,
      ArtifactId为项目的名称,如springboottest
      选择project location,假设为D:\temp\springboottest,
      然后点击Finish。
    3. 创建成功后,删除src文件夹
      此时生成的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">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.huawei</groupId>
        <artifactId>spring-boot-test</artifactId>
        <version>1.0-SNAPSHOT</version>
    </project>
    

    在pom.xml中添加

    <packaging>pom</packaging>
    

    pom标签表示对该项目进行聚合,其中的每个module,都是另外一个Maven项目。
    可参考mvn pom标签详解

    1. 创建springboot子模块
      在根项目上点击右键,选择Module->Spring Initializr->next
      修改Group:com.huawei
      Artifact:spring-api
      Description
      -> next
      -> 选择Web -> 选择Spring Web Starter
      ->next -> Finish。
    2. 修改pom文件,添加依赖
    <dependency>
                <groupId>com.huawei</groupId>
                <artifactId>spring-service</artifactId>
                <version>0.0.1-SNAPSHOT</version>
    </dependency>
    
    1. 编写测试类,使得访问 http://localhost:8080/test/date获得日期
      在service类中编写
    package com.huawei.springservice;
    
    import java.util.Date;
    
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    public class SpringServiceApplication
    {
        public static Date getCurDate()
        {
            Date d = new Date();
            return d;
        }
    
    }
    
    

    在api层

    package com.huawei.springapi;
    
    import com.huawei.springservice.SpringServiceApplication;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    @RequestMapping("/test")
    public class TestController
    {
        /**
         * 获取当前时间 
         * @return
         */
        @GetMapping("date")
        public String getDate()
        {
            return "日期:" + SpringServiceApplication.getCurDate();
        }
    }
    

    然后点击运行SpringApiApplication(注意一次只能运行一个实例)。
    然后访问网页http://localhost:8080/test/date得到返回结果

    日期:Wed Jun 26 11:30:56 GMT+08:00 2019

    至此,多模块maven搭建完毕,其他层可以类似进行搭建,里面关于pom文件配置下回分解。

    日志处理

    api层

    service层

    dao层

    test测试

    相关文章

      网友评论

          本文标题:maven 搭建一个多模块的spring-boot web项目

          本文链接:https://www.haomeiwen.com/subject/lwquqctx.html