Boot1️⃣简介 & 入门

1、web 技术发展

含义 示例技术
原生 对不同的应用场景,重复开发 传统 Java Web
框架 封装常见应用场景,通过配置方式引入 Structs
轻量级框架 根据实际生产需要,对框架的实用功能进行重构 Spring MVC
一站式解决方案 提高效率,减少繁杂配置,提倡约定大于配置 Spring Boot

2、Spring Boot

Spring Boot 是一个基于 Spring 的 Web 框架,

目的是简化 Spring 应用的搭建和开发

  1. 集大成者:基于 Spring 整合现有成熟框架。
  2. 开箱即用:引入 Starter,无需配置即可运行。
  3. 约定大于配置:开发者可规定配置,若无规定则采用默认配置。
  4. 提供生产就绪功能,如指标、运行状况检查和外部化配置。

核心功能

  1. 起步依赖:简化项目依赖(parent、Starter)
  2. 自动配置(Application 启动类)
  3. 辅助功能:如内置 Tomcat 服务器。

3、入门

Hint:注意 IDEA、Maven、Spring Boot 的兼容性。

参考版本

  • JDK 1.8
  • Maven 3.6.3
  • Spring Boot 2.7.0
  • IntelliJ IDEA 2020.3

3.1、创建项目

Hint:要求联网

3 种创建方式:

  1. 官网:生成后导入到 IDEA 中
  2. IDEA:创建项目
  3. 手动搭建

3.1.1、官网

Spring Initializr

  1. 项目信息

  2. 依赖项

  3. 生成项目 zip 文件

  4. 解压,导入 IDEA

    image-20220621001502929

Hint

  • IDEA 2019 前:Import Project 导入
  • IDEA 2019 后:Open 导入

3.1.2、IDEA

① Spring Initializr

URL 表示 Spring Boot 的生成网址,

相当于 IDEA 调用了官网的生成功能。

通常有以下选择:

  1. Spring

  2. 阿里云https://start.aliyun.com

    image-20220621002811479

② 依赖项

Hint:若选取不同的 URL

具有不同的依赖项界面,且生成的 Spring Boot 工程(配置文件)也有所不同。

  • Spring 和 Spring Boot:Spring 收录的依赖项

    image-20220621003102889

  • 阿里云:在 Spring 官网的基础上,添加了国内的流行框架。

    image-20220621003126496

3.1.3、手动

根据前 2 种方法生成的项目结构,手动创建 Spring Boot 项目。

  1. 创建 Maven 项目

  2. 导入依赖(参考 pom.xml

    • modelVersion
    • parent
    • gav
    • properties
    • dependencies
  3. 引导类(XxxApplication

    @SpringBootApplication
    public class XxxApplication {
        public static void main(String[] args) {
            SpringApplication.run(XxxApplication.class, args);
        }
    }
    

3.2、编写接口

Hint:在引导类所在目录下,新建 controller 包。

  1. 编写接口

    @RestController
    public class HelloController {
        @GetMapping("/hello")
        public String sayHello() {
            System.out.println("hello");
            return "hello!";
        }
    }
    
  2. 启动 Application 引导类

    image-20220622224810654

  3. 发起请求:观察控制台,打印 DispatcherServlet 初始化信息。

    image-20220622225043872

此时,一个可用的 Spring Boot 项目搭建完成。

3.3、说明

3.3.1、项目结构

  • main

    • java
      • Application:引导类
    • resources
      • application.properties:核心配置
  • test

    • ApplicationTests:测试类
  • pom.xml:Maven 依赖

    image-20220621231746864

3.3.2、打包

Hint:打包前先 clean

  • Maven package,等待 IDEA 打 jar 包

    image-20220622225402811

  • 打包失败的解决方案:pom.xml 的 plugin 配置

    1. 添加 plugin:跳过单元测试的编译和运行(原因是单元测试可能存在问题)

    2. 为 plugin 添加 version,值为 Spring Boot 版本号。

      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <configuration>
              <!-- 跳过单元测试 -->
              <skipTests>true</skipTests>
          </configuration>
      </plugin>
      

3.3.3、banner

banner:Spring Boot 项目启动时打印的 logo

image-20210905220648596

自定义启动 banner 步骤:

  1. banner 在线生成
  2. 在 Spring Boot 项目 resources 目录下,新建 banner.txt 粘贴内容即可。
posted @ 2021-09-05 15:41  Jaywee  阅读(90)  评论(0编辑  收藏  举报

👇