• 使用 IDEA 构建聚合工程并引入 Spring Boot


    简介

    聚合工程里可以分为:

    • Project 项目,也可称为顶级项目、顶级工程、父工程
    • Module 模块,也可称为子模块、子工程

    总结一下:

    1. 这两者之间是父子继承的关系,即 模块继承顶级项目,模块之间是平级结构,可以相互依赖
    2. 模块可以使用顶级项目里所有的资源(依赖),模块之前如果要使用资源,必须构建依赖(构建关系)
    3. 一个顶级项目可以由多个不同的模块共同组合而成

    项目结构

    一个最简单的聚合工程的项目结构如下

    └─foodie
        ├─foodie-common
        │  └─src
        └─src
    

    创建顶级项目

    1. New Project 弹出窗左侧中点击 Maven,右侧的 Project SDK 选择喜欢的 JDK 版本
    2. 点击 Next 按钮
    3. 根据实际情况填写 NameLocationGroupIdArtifactIdVersion
    4. 点击 Finish 按钮
    5. 打开 pom.xml(默认已打开),在 <version> 标签下面添加 <packaging>pom</packaging> 标签

    说明

    packaging

    <packaging> 标签是指项目的打包方式(The type of artifact this project produces),默认为 jar,最外层的顶级项目指定 pom,鼠标指在标签处,会提示常见的有 4 种方式,分别是 jar、war、ear、pom

    提示中也说了 Plugins can create their own packaging, and therefore their own packaging types, so this list does not contain all possible types.,意思是你也可以创建自己的打包类型,不仅限于这 4 种

    创建模块(子工程)

    1. 在左侧的 Project 窗口中找到顶级工程,然后在根目录上右键 -> New -> Module
    2. New Module 弹出窗的右侧找到 Module SDK,选择喜欢的 JDK 版本
    3. 点击 Next 按钮
    4. 根据实际情况填写 ArtifactId(NameLocation 会跟着变),然后看所有的输入项是否满足期望,不满足的手动修改一下
    5. 点击 Finish 按钮

    创建好 Module 后,顶级项目的 pom.xml 中会自动添加 <modules> 标签,其中包含了所有依赖此顶级项目的 Module

    构建依赖关系

    根据上一小节步骤,再创建一个 Module

    然后假设 Module A 依赖于 Module B

    1. 打开 Module Apom.xml,在喜欢的位置添加 <dependencies> 标签(输入 <,然后按一下 Tab 键或 Enter 键)
    2. <dependencies> 标签里面再添加 <dependency> 标签(输入 <,然后按一下 Tab 键或 Enter 键)
    3. <artifactId> 标签内填写 Module BartifactId,例如 module-b
    4. <groupId> 标签内填写顶级项目的 groupId,例如 cn.myesn(第 3 步完成后应该会自动跳转到 <groupId> 标签,并且会有相应的智能提示)

    完成后,Module A 就可以直接使用 Module B 中提供的代码了

    安装

    如果模块与模块之间有依赖关系,根据上一小节步骤,写完依赖关系

    1. 点击 IDEA 右侧的 Maven 菜单
    2. Maven 窗口中找到顶级项目,即项目名称后面有 (root) 字样的
    3. 展开顶级项目,展开 Lifecycle,双击 install

    这样子模块之间的依赖关系才会真正存在

    顶级项目引入 Spring Boot

    1. 打开顶级项目的 pom.xml
    2. <moduleVersion> 标签下添加以下代码:
      <parent>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-parent</artifactId>
          <version>2.5.5</version>
      </parent>    
      
    3. <properties> 标签里面添加以下代码:
      <!-- 整体源码文件的编码设置 -->
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <!-- 整体源码文件编译后输出文件的编码设置 -->
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      <!-- 整体项目 JDK 的版本号 -->
      <java.version>1.8</java.version>
      
    4. <properties> 标签下面添加以下代码:
      <dependencies>
          <dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter</artifactId>
              <exclusions>
                  <!-- 这里排除 logging 是因为后期要集成其他的 logging 组件 -->
                  <exclusion>
                      <groupId>org.springframework.boot</groupId>
                      <artifactId>spring-boot-starter-logging</artifactId>
                  </exclusion>
              </exclusions>
          </dependency>
          <dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-web</artifactId>
          </dependency>
          <dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-configuration-processor</artifactId>
              <optional>true</optional>
          </dependency>
      </dependencies>
      
    5. 点击 IDEA 软件右侧的 Maven,找到顶级项目,然后双击 Lifecycle 里面的 install

    接口层模块项目配置

    假设已经创建了 api 模块,然后按以下步骤操作:

    1. api -> src -> main -> resources 路径下创建一个 application.yml 文件
    2. api -> src -> main -> java 路径下创建一个包文件夹,例如 cn.myesn,后续用这个举例
    3. cn.myesn 包下创建 Application.java 文件,然后在里面编写以下代码:
      package cn.myesn;
      
      import org.springframework.boot.SpringApplication;
      import org.springframework.boot.autoconfigure.SpringBootApplication;
      
      @SpringBootApplication
      public class Application {
          public static void main(String[] args) {
              SpringApplication.run(Application.class, args);
          }
      }
      
    4. cn.myesn 包下创建一个 controller 的文件夹
    5. controller 文件夹下创建一个 HiController.java 文件,然后在里面编写如下代码:
      package cn.myesn.controller;
      
      import org.springframework.http.ResponseEntity;
      import org.springframework.web.bind.annotation.GetMapping;
      import org.springframework.web.bind.annotation.RestController;
      
      @RestController
      public class HiController {
      
          @GetMapping("hi")
          public ResponseEntity<String> hi(){
              return ResponseEntity.ok("hi");
          }
      }
      
    6. 点击 IDEA 软件右侧的 Maven,找到顶级项目,然后双击 Lifecycle 里面的 install
    7. 右键 Application.java 文件,单击 Run 'Application' 按钮
    8. 打开浏览器,输入 http://localhost:8080/hi,此时应该能看到页面显示了 hi 的字样
  • 相关阅读:
    JSP实现数据传递(web基础学习笔记三)
    Spring Boot 参数校验
    Spring AOP实践
    Spring AOP介绍
    2018年春节
    InnoDB索引
    Kafka基本知识回顾及复制
    Kakfa消息投递语义
    Kafka Consumer
    Kafka Producer Consumer
  • 原文地址:https://www.cnblogs.com/myesn/p/15325047.html
Copyright © 2020-2023  润新知