发布时间:2023-02-02 文章分类:编程知识 投稿人:王小丽 字号: 默认 | | 超大 打印

【前置内容】Spring 学习笔记全系列传送门:

  • Spring学习笔记 - 第一章 - IoC(控制反转)、IoC容器、Bean的实例化与生命周期、DI(依赖注入)

  • Spring学习笔记 - 第二章 - 注解开发、配置管理第三方Bean、注解管理第三方Bean、Spring 整合 MyBatis 和 Junit 案例

  • Spring学习笔记 - 第三章 - AOP与Spring事务

【前置内容】SpingMVC 学习笔记全系列传送门:

  • SpringMVC学习笔记 - 第一章 - 工作流程、Bean加载控制、请求与响应(参数接收与内容返回)、RESTful
  • SpringMVC学习笔记 - 第二章 - SSM整合案例 - 技术整合、统一结果封装、统一异常处理、前后联调、拦截器
目录
  • 1、SpringBoot 简介

    • 1.1 SpringBoot 快速入门

      • 1.1.1 开发步骤

        • 1.1.1.1 创建新模块
        • 1.1.1.2 创建 Controller
        • 1.1.1.3 启动服务器
      • 1.1.2 开发内容对比
      • 1.1.3 官网构建工程
      • 1.1.4 SpringBoot 工程快速启动

        • 1.1.4.1 问题引入
        • 1.1.4.2 打包
        • 1.1.4.3 启动
    • 1.2 SpringBoot 概述

      • 1.2.1 起步依赖 —— 核心:Maven 继承

        • 1.2.1.1 探索父工程(源码不表)
        • 1.2.1.2 探索依赖
        • 1.2.1.3 小结
      • 1.2.2 程序启动
      • 1.2.3 切换 web 服务器
  • 2、配置文件

    • 2.1 配置文件格式及优先级
    • 2.2 yaml 格式

      • 2.2.1 概述
      • 2.2.2 语法规则
    • 2.3 yaml 配置文件数据读取

      • 2.3.1 环境准备
      • 2.3.2 读取配置数据

        • 2.3.2.1 使用 @Value 注解
        • 2.3.2.2 Environment 对象
        • 2.3.2.3 自定义对象
    • 2.4 多环境配置

      • 2.4.1 yaml 文件
      • 2.4.2 properties 文件
      • 2.4.3 命令行启动参数配置
    • 2.5 配置文件分类
  • 3、SpringBoot 整合 Junit

    • 3.1 环境准备
    • 3.2 测试类编写
  • 4、SpringBoot 整合 Mybatis

    • 4.1 回顾 Spring 整合 Mybatis
    • 4.2 SpringBoot 整合Mybatis

      • 4.2.1 创建模块
      • 4.2.2 定义实体类
      • 4.2.3 定义 dao
      • 4.2.4 定义测试类
      • 4.2.5 编写配置
      • 4.2.6 使用 Druid 数据源
  • 5、基于 SpringBoot 的 SSM 整合案例

    • 5.1 创建工程
    • 5.2 后端代码整理
    • 5.3 配置文件
    • 5.4 静态资源
    • 5.5 包结构展示
    • 5.6 其他问题

1、SpringBoot 简介

1.1 SpringBoot 快速入门

1.1.1 开发步骤

  1. 创建新模块,选择Spring初始化,并配置模块相关基础信息

  2. 选择当前模块需要使用的技术集

  3. 开发控制器类

  4. 运行自动生成的Application类

1.1.1.1 创建新模块
1.1.1.2 创建 Controller
@RestController
@RequestMapping("/books")
public class BookController {
    @GetMapping("/{id}")
    public String getById(@PathVariable Integer id) {
        System.out.println("id = " + id);
        return "hello boot!";
    }
}
1.1.1.3 启动服务器

直接运行引导类即可

1.1.2 开发内容对比

1.1.3 官网构建工程

SpringBoot官网:https://spring.io/projects/spring-boot

1.1.4 SpringBoot 工程快速启动

1.1.4.1 问题引入
  • SpringBoot 程序服务器运行在本机
  • 当进行前后端联调时,按理说前端需要连接后端开发的机器,比较麻烦
  • 是否有更好的方式?
1.1.4.2 打包
1.1.4.3 启动

1.2 SpringBoot 概述

  • 原始 Spring 环境搭建和开发存在以下问题:

    • 配置繁琐
    • 依赖设置繁琐
  • SpringBoot 程序优点恰巧就是针对 Spring 的缺点

    • 自动配置。这个是用来解决 Spring 程序配置繁琐的问题
    • 起步依赖。这个是用来解决 Spring 程序依赖设置繁琐的问题
    • 辅助功能(内置服务器,...)。在启动 SpringBoot 程序时既没有使用本地的 tomcat 也没有使用 tomcat 插件,而是使用 SpringBoot 内置的服务器。

1.2.1 起步依赖 —— 核心:Maven 继承

以后需要使用技术,只需要引入该技术对应的起步依赖即可

1.2.1.1 探索父工程(源码不表)
1.2.1.2 探索依赖
1.2.1.3 小结

1.2.2 程序启动

1.2.3 切换 web 服务器

2、配置文件

2.1 配置文件格式及优先级

  • 当三种配置文件均存在时,优先级application.properties > application.yml > application.yaml
  • SpringBoot 程序的配置文件名必须是 application ,只是后缀名不同

2.2 yaml 格式

2.2.1 概述

2.2.2 语法规则

2.3 yaml 配置文件数据读取

2.3.1 环境准备

2.3.2 读取配置数据

2.3.2.1 使用 @Value 注解

直接使用 @Value("${ }") 注解进行注入,用于读取单个数据,参数为${ }包裹的数据名称的字符串

2.3.2.2 Environment 对象

用于获取全部数据,使用时Environment类型的属性进行自动装配,使用其getProperty()方法来获取数据

2.3.2.3 自定义对象

该方式用于读取任意数据,将其封装为实体类,使用注解绑定获取数据的范围,在获取时,通过自动注入获取该实体类对象并进行操作

2.4 多环境配置

2.4.1 yaml 文件

2.4.2 properties 文件

  • 与 yaml 文件不同,properties 的多环境配置写在不同的文件中,并在主配置文件中指定使用的环境
  • 多个环境使用文件名进行区分和定义,application-环境名.properties
  • 公用的配置可以写application.properties

2.4.3 命令行启动参数配置

2.5 配置文件分类

3、SpringBoot 整合 Junit

Spring 整合 Junit 回顾

3.1 环境准备

3.2 测试类编写

4、SpringBoot 整合 Mybatis

4.1 回顾 Spring 整合 Mybatis

4.2 SpringBoot 整合Mybatis

4.2.1 创建模块

4.2.2 定义实体类

public class Book {
    private Integer id;
    private String name;
    private String type;
    private String description;
    // Getter、Setter、toString...
}

4.2.3 定义 dao

数据库SQL见前置内容,tbl_book 表SQL,此处不再赘述

4.2.4 定义测试类

@SpringBootTest
class Springboot03MybatisApplicationTests {
    @Autowired
    private BookDao bookDao;
    @Test
    void contextLoads() {
        Book book = bookDao.getById(1);
        System.out.println(book);
    }
}

4.2.5 编写配置

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db
    username: root
    password: 123456

4.2.6 使用 Druid 数据源

5、基于 SpringBoot 的 SSM 整合案例

  • 本节内容是对上一篇 SSM 整合案例的改进,可参见SpingMVC 学习笔记 - 第二章 -SSM整合案例
  • 开发步骤
    1. pom.xml:配置起步依赖,必要的资源坐标(druid)

    2. application.yml:设置数据源、端口等

    3. 配置类:现在不需要了

    4. dao:设置@Mapper

    5. 测试类

    6. 页面:放置在resources目录下的static目录中

5.1 创建工程

5.2 后端代码整理

5.3 配置文件

#TODO 配置端口和数据源相关信息
server:
  port: 80
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db
    username: root
    password: 123456

5.4 静态资源

5.5 包结构展示

SpringBoot学习笔记 - 构建、简化原理、快速启动、配置文件与多环境配置、技术整合案例

5.6 其他问题