1. Springboot概念
    • 诞生背景
    • 解决什么问题-Spring有什么缺点
      • 配置繁琐
      • 依赖繁琐、冲突
    • sbot功能
      • 自动配置
        • Spring Boot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程. Sbot帮我们考虑了众多因素,才决定Spring配置应该用哪个,不该用哪个。该过程是SpringBoot自动完成的
      • 起步依赖
        • 起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能
        • 简单的说,起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能
      • 辅助功能
        • 提供了一些大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等
    • Spring Boot 并不是对Spring 功能上的增强,而是提供了一种快速使用Spring 的方式
    1. 快速使用-如何建立一个Sbot项目?
      1. 自己搭建
        1. image.png
        2. SpringBoot的引导类,是项目入口,运行main方法就可以启动项目
        3. 使用SpringBoot和Spring构建的项目,业务代码编写方式完全一样
    2. 关于起步依赖

      1. image.png
    3. Springboot 的配置文件

    • SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml(application.yaml)进行配置
    • 默认配置文件名称:application
    • 同一级目录下优先级为: properties >yml>yaml
    1. 关于 YAML (“yaml 不是标记语言”的缩写)
      • image.png
      • image.png
      • image.png
      • image.png
      • image.png
    • 读取配置文件的内容
      • image.png
    1. 关于动态配置
    • 在开发时,通常同一套程序会安装到不同环境:开发、测试、生产等。其中数据库地址、服务器端口等等配置都不同,如果每次打包都需要修改配置文件,那么非常麻烦。profile功能就是来进行动态配置切换的。
    • image.png
    • 小结
      • image.png
    1. 内部配置加载顺序
      1. image.png
      2. image.png
    2. SpringBoot整合其它框架

      • 用IDEA创建时,勾选配置的形式创建
      • 也可以在pom中导入依赖
      1. 整合 Junit(idea配置搭建)/redis/mybatis(后面两个手动创建)
      • pom ```java <?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

        1. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

        4.0.0 org.springframework.boot spring-boot-starter-parent 2.5.6 com.jquan springbootfromidea 0.0.1-SNAPSHOT springbootfromidea Demo project for Spring Boot 1.8

        org.springframework.boot spring-boot-starter-web mysql mysql-connector-java
        <!--自己导入redis-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
    
    
        <!--自带了测试依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.0</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    

    
       - 配置文件
       - ![image.png](https://cdn.nlark.com/yuque/0/2021/png/22442214/1635939260017-140a2e72-5e73-4865-9544-a21757df3c7f.png#clientId=u8f00248e-757a-4&from=paste&height=186&id=uad07ca3c&margin=%5Bobject%20Object%5D&name=image.png&originHeight=371&originWidth=467&originalType=binary&ratio=1&size=19937&status=done&style=none&taskId=u292ed58b-7953-4930-9c73-d66e5984e02&width=233.5)
       - 用的application.yml
    ```yaml
    #yam多文档激活方式
    ---
    #配置服务器的(tomcat)
    server:
      port: 8081
    
    #配置spring的
    spring:
      profiles: dev
      redis:
        host: 127.0.0.1
        port: 6379
      datasource:
        url: jdbc:mysql:///test2?serverTimezone=UTC
        username: root
        password: Cjq123456789
        driver-class-name: com.mysql.cj.jdbc.Driver
    
    # mybatis-用注解方式则不用配置下面内容
    mybatis:
      mapper-locations: classpath:mapper/*Mapper.xml #mapper映射文件路径
      type-aliases-package: com.jquan.springbootfromidea.domain
    
      # config-location:  # 指定mybatis的核心配置文件, 此demo不需要
    
    ---
    server:
      port: 8081
    
    spring:
      profiles: test
    
    ---
    server:
      port: 8081
    
    spring:
      profiles: pro
    ---
    server:
    spring:
      profiles:
        active: dev