0 ​​相关源码​​ 1 什么是Spring Boot

一个快速开发的脚手架

作用

快速创建独立的、生产级的基于Spring的应用程序

特性

  • 无需部署WAR文件
  • 提供starter简化配置
  • 尽可能自动配置Spring以及第三方库
  • 提供“生产就绪”功能,例如指标、健康检查、外部配置等
  • 无代码生成&无XML
2 编写一个Spring Boot应用

2.1 需求

  • 整合Spring MVC
  • /test路径(端点)

2.2 使用Spring Initializr快速创建Spring Boot应用

Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_spring

Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_配置文件_02

Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_配置文件_03

Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_spring_04

  • 编写测试代码
    Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_spring boot_05
  • 运行输出Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_spring boot_06

也可以使用

  • mvn clean install确保打包成功
    Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_原力计划_07
  • java -jar 运行程序
    Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_java_08
3 组成分析
  • pom.xml
    Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_spring_09
  • 配置文件
    Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_spring_10
  • static目录
    存放静态文件
  • template目录
    存放模板文件,已过时
4 开发利器

添加依赖

写注解

Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_配置文件_13

写配置

Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_配置文件_14

6 Spring Boot配置管理

yml配置

  • 注意缩进同一与冒号左右的空格
    Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_spring boot_15
  • 注意与properties文件的不同
    Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_spring_16

配置管理的各种姿势

Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_spring_17

配置管理常用方式

  • 配置文件
  • 环境变量
  • 外部配置文件
    会读取和jar文件相同路径下的配置文件,且优先级高于jar配置
  • 命令行参数

尽量保持配置最简单且统一,规避优先级冲突问题!

7 Profile

不同环境不同配置

使用

  • yml配置文件
    Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_spring boot_18
    Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_spring boot_19
  • 添加参数并启动程序
    Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_java_20
  • 查看端点以确认信息
    Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_原力计划_21
  • 那么如果不指定参数呢,又运行的何种环境呢,让我们来看一下:
    Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_配置文件_22
  • 默认是default,难道我非要将dev环境改为default才可以使用默认配置?显然SpringBoot另辟蹊径:
    Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_java_23
    Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_spring boot_24

如果不是yml文件,而是用properties配置呢

Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_配置文件_25

Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_spring_26

  • 指定参数
    Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_原力计划_27
    Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_java_28
  • 默认dev
    Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_spring boot_29
  • 注意先将启动参数prod关闭,避免配置优先级冲突!
    Spring Cloud Alibaba 实战(2) - 关于Spring Boot你不可不知道的实情_原力计划_30
8 总结
  • 使用Spring Initializr快速创建应用
  • 应用组成分析
  • 开发三部曲
  • Actuator
  • 配置管理
  • Profile
参考

​Spring Boot官方文档​