Spring Boot starter 和 YAML

springboot 项目创建 请参考 :springboot 项目创建_abc1231987的专栏-CSDN博客

Spring Boot 的特点

Spring Boot 具有以下特点:

1. 独立运行的 Spring 项目

Spring Boot 可以以 jar 包的形式独立运行,Spring Boot 项目只需通过命令“ java–jar xx.jar” 即可运行。

2. 内嵌 Servlet 容器

Spring Boot 使用嵌入式的 Servlet 容器(例如 Tomcat、Jetty 或者 Undertow 等),应用无需打成 WAR 包 。

3. 提供 starter 简化 Maven 配置

Spring Boot 提供了一系列的“starter”项目对象模型(POMS)来简化 Maven 配置。

4. 提供了大量的自动配置

Spring Boot 提供了大量的默认自动配置,来简化项目的开发,开发人员也通过配置文件修改默认配置。

5. 自带应用监控

Spring Boot 可以对正在运行的项目提供监控。

6. 无代码生成和 xml 配置

Spring Boot 不需要任何 xml 配置即可实现 Spring 的所有配置。

starter

以 spring-boot-starter-web 为例,它能够为提供 Web 开发场景所需要的几乎所有依赖,因此在使用 Spring Boot 开发 Web 项目时,只需要引入该 Starter 即可,而不需要额外导入 Web 服务器和其他的 Web 依赖。

在该项目中执行以下 mvn 命令查看器依赖树。

Spring Boot 导入了 springframework、logging、jackson 以及 Tomcat 等依赖,而这些正是我们在开发 Web 项目时所需要的。

查看 spring-boot-starter- parent 的底层代码,可以发现其有一个父级依赖 spring-boot-dependencies。

以上配置中,部分元素说明如下:

  • dependencyManagement :负责管理依赖;
  • pluginManagement:负责管理插件;
  • properties:负责定义依赖或插件的版本号。

spring-boot-dependencies 通过 dependencyManagement 、pluginManagement 和 properties 等元素对一些常用技术框架的依赖或插件进行了统一版本管理,例如 Activemq、Spring、Tomcat 等。

YAML教程:

 SpringBoot 默认使用以下 2 种全局的配置文件,其文件名是固定的。

  • application.properties
  • application.yml

 YAML 全称 YAML Ain't Markup Language,它是一种以数据为中心的标记语言,比 XML 和 JSON 更适合作为配置文件。

YAML 的语法如下:

  • 使用缩进表示层级关系。
  • 缩进时不允许使用 Tab 键,只允许使用空格。
  • 缩进的空格数不重要,但同级元素必须左侧对齐。
  • 大小写敏感。

YAML 常用写法

YAML 支持以下三种数据结构:

  • 对象:键值对的集合
  • 数组:一组按次序排列的值
  • 字面量:单个的、不可拆分的值
  • YAML 字面量写法

  • 字面量是指单个的,不可拆分的值,例如:数字、字符串、布尔值、以及日期等。
  • 在 YAML 中,使用“key:[空格]value的形式表示一对键值对(空格不能省略),如 url: www.biancheng.net。                                                                                                                  name: bianchengbang

若字符串使用单引号,则会转义特殊字符。

  1. 'name: zhangsan \n lisi'    输出zhangsan \n lisi

若字符串使用双引号,则不会转义特殊字符,特殊字符会输出为其本身想表达的含义

  1. "name: zhangsan \n lisi" 输出  zhangsan  lisi

YAML 对象写法

在 YAML 中,对象可能包含多个属性,每一个属性都是一对键值对。

YAML 为对象提供了 2 种写法:

  1. website:
  2. name: bianchengbang
  3. url: www.biancheng.net

普通写法,使用缩进表示对象与属性的层级关系。

行内写法:

  1. website: {name: bianchengbang,url: www.biancheng.net}

YAML 数组写法

YAML 使用“-”表示数组中的元素,普通写法如下:

  1. pets:
  2. -dog
  3. -cat
  4. -pig

行内写法:

  1. pets: [dog,cat,pig]

复合结构

以上三种数据结构可以任意组合使用,以实现不同的用户需求,例如:

  1. person:
  2.     name: zhangsan
  3.     age: 30
  4.     pets:
  5.            -dog
  6.            -cat
  7.            -pig
  8.      car:
  9.      name: QQ
  10.      child:
  11.      name: zhangxiaosan
  12.      age: 2

YAML 组织结构

一个 YAML 文件可以由一个或多个文档组成,文档之间使用“---作为分隔符,且个文档相互独立,互不干扰。如果 YAML 文件只包含一个文档,则“---分隔符可以省略。

  1. ---
  2. website:
  3.     name: bianchengbang
  4.     url: www.biancheng.net
  5. ---
  6. website: {name: bianchengbang,url: www.biancheng.net}
  7. pets:
  8.    -dog
  9.    -cat
  10.    -pig
  11. ---
  12. pets: [dog,cat,pig]
  13. name: "zhangsan \n lisi"
  14. ---
  15. name: 'zhangsan \n lisi'

Guess you like

Origin blog.csdn.net/abc1231987/article/details/120632313