SpringBoot概述

Spring Boot 是由 Pivotal 团队提供用来简化 Spring 的搭建和开发过程的全新框架。随着近些年来微服务技术的流行,Spring Boot 也成了时下炙手可热的热点技术。

Spring Boot 去除了大量的 xml 配置文件,简化了复杂的依赖管理,配合各种 starter 使用,基本上可以做到自动化配置。Spring 可以做的事情,现在用 Spring boot 都可以做。

这套 Spring Boot 框架快速入门教程以大量示例讲解了 Spring Boot 在各类情境中的应用,让读者可以跟着笔者的思维和代码快速理解并掌握。适用于 Java 开发人员,尤其是初学 Spring Boot 的人员和需要从传统 Spring 转向 Spring Boot 开发的技术人员。

https://static.kancloud.cn/master-wei/springboot_master-wei/2214464

SpringBoot起步依赖原理分析

  • 在spring-boot- starter-parent中定义了各种技术的版本信息,组合了一套最有搭配的技术版本。
  • 在各种starter中,定义了完成该功能需要的坐标合集,其中大部分信息来自父工程。
  • 我们的工程继承parent,引入starter后通过依赖传递,就可以简单方便获得需要的jar包,并且不会存在版本冲突等问题。

SpringBoot配置

配置文件分类

SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的的话,就可以使用application.properties或者application.yml(application.yaml)进行配置。

  • properties:
server.port=8080
  • yml:
server:
port:8080
  • yaml
server:
port:8080

优先级

properties>yml>yaml

小结

  • SpringBoot提供了两种配置文件类型:properties和yml/yaml
  • 默认配置文件名称:application
  • 在同一级目录下优先级为:properties>yml>yaml

YAML

基本概述

YAML全称是YAML Ain't Markup Language.YAML是一种直观的能够被电脑识别的数据序列化格式。并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如:C/C++,Rudy,Python,Java,Perl,C#,PHP等。

YMAL文件是以数据为核心的,比传统的xml方式更加简洁。

YAML文件的扩展名可以使用.yml或者.yaml。

基本配置

YAML

  • properties:
server.port=8080
server.address=127.0.0.1
  • xml:
<server>
<port>8080</port>
<address>127.0.0.1</address>
</server>
  • yml
```yml
server:
port: 8080
address: 127.0.0.1

***简洁,以数据为核心 ***

yml注意空格,否则不会被识别

基本语法

  • 大小写敏感
  • 数据值前边必须有空格,作为分隔符
  • 使用缩进标识层级欢喜
  • 缩进时不允许使用Tab键,只允许使用空格(各个系统Tab对应的空格数目可能不同,导致层次混乱)
  • 缩进的空格数目不重要,只要相同层级的元素左侧对其即可
  • “#”表示注释,从这个字符一直到行尾,都会被解析器忽略
server:
port: 8080
address: 127.0.0.1
name:abc

基本数据格式

  • 对象(map):键值对的集合
person:
name: tiandao
# 行内写法
person: {name: tiandao}
  • 数组:一组按次序排列的值
address:
- shenzhen
- hangzhou
# 行内写法
address: [beijing,shanghai]
  • 存量:单个的、不可再分的值
msg1:'hello \n world'  # 单引忽略转义字符
msg2:"hello \n world" # 双引识别转义字符
  • 参数引用
name: list

person:
name: ${name} #引用上面定义的name值

SpringBoot(概述、起步依赖原理分析、SpringBoot配置(配置文件分类、YAML))的更多相关文章

  1. SpringBoot原理分析与配置

    1.1 起步依赖原理分析 1.1.1 分析spring-boot-starter-parent 按住Ctrl点击pom.xml中的spring-boot-starter-parent,跳转到了spri ...

  2. SpringBoot原理—分析SpringBoot启动机制(starter机制)

    一:前言使用过springboot的同学应该已经知道,springboot通过默认配置了很多框架的使用方式帮我们大大简化了项目初始搭建以及开发过程.本文的目的就是一步步分析springboot的启动过 ...

  3. Azure WAF防火墙工作原理分析和配置向导

    Azure WAF工作原理分析和配置向导 本文博客地址为:http://www.cnblogs.com/taosha/p/6716434.html ,转载请保留出处,多谢! 本地数据中心往云端迁移的的 ...

  4. SpringBoot 自动装配的原理分析

    关于 SpringBoot 的自动装配功能,相信是每一个 Java 程序员天天都会用到的一个功能,但是它究竟是如何实现的呢?今天阿粉来带大家看一下. 自动装配案例 首先我们通过一个案例来看一下自动装配 ...

  5. springboot的起步依赖

    加载自动配置的方式2: springboot读取配置文件的方式: 1.读取核心配置文件 核心配置文件是指在resources根目录下的application.properties或applicatio ...

  6. DBCP连接池原理分析及配置用法

    DBCP连接池介绍 ----------------------------- 目前 DBCP 有两个版本分别是 1.3 和 1.4. DBCP 1.3 版本需要运行于 JDK 1.4-1.5 ,支持 ...

  7. Memcached的原理分析与配置

    一.Why Memcached? • 高并发访问数据库的痛楚:死锁! • 硬盘IO之痛:本机:AspNet:HttpRuntime.Cache • 多客户端共享缓存 • Net+Memory>& ...

  8. Solr缓存原理分析及配置优化

    一.缓存原理 缓存,带来急速性能体验! Solr提供了一系列的内置缓存来优化查询性能.Solr的缓存原理主要涉及以下4个方面: 1.缓存大小及缓存置换法 从缓存大小的角度来看,不能将缓存设置的太大,否 ...

  9. SpringBoot原理深入及源码剖析(一) 依赖管理及自动配置

    前言 传统的Spring框架实现一个Web服务需要导入各种依赖jar包,然后编写对应的XML配置文件等,相较而言,SpringBoot显得更加方便.快捷和高效.那么,SpringBoot究竟是如何做到 ...

  10. 深入springboot原理——一步步分析springboot启动机制(starter机制)

    前言 使用过springboot的同学应该已经知道,springboot通过默认配置了很多框架的使用方式帮我们大大简化了项目初始搭建以及开发过程.本文的目的就是一步步分析springboot的启动过程 ...

随机推荐

  1. ubuntu 下如何设置环境变量

    一.设置环境变量的三种方法 1.1 临时设置 export PATH=/home/yan/share/usr/local/arm/3.4.1/bin:$PATH 1.2 当前用户的全局设置 打开~/. ...

  2. unity 2D 物体跟随鼠标旋转 移动

    using System.Collections; using System.Collections.Generic; using UnityEngine; public class FollowMo ...

  3. mac Big Sur 安装MAT

    1.下载MAT,https://www.eclipse.org/mat/previousReleases.php,这里安装最新版本1.12.0版本,这个依赖jdk11,需要安装openjdk11,请前 ...

  4. Attention:何为注意力机制?

    ​  本文来自公众号"AI大道理" 人类利用有限的注意力资源从大量信息中快速筛选出高价值信息,这是人类在长期进化中形成的一种生存机制,人类视觉注意力机制极大地提高了视觉信息处理的效 ...

  5. 【翻译】了解Flink-数据管道和ETL -- Learn Flink - Data Pipelines & ETL

    目录 无状态转换 map() flatmap() keyed 流 keyBy() keys计算 keyed流上的聚合 (Implicit)状态 reduce() 和其他聚合器 有状态的Transfor ...

  6. MySQL之校对集问题

    随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...

  7. C语言学习--文件操作--文件流指针--打开文件

    当打开一个文件时, 系统会返回一个结构体, 这个结构体有对此文件操作的所有信息 调用fopen时,系统返回这个结构体的地址 FILE *p = fopen("a.txt") 打开一 ...

  8. uniapp 离开界面清除计时器

            onLoad() {             // APP启动引导图逻辑判断显示             if (uni.getStorageSync("startImgSt ...

  9. 二进制k8s 集群新增加node 节点

    环境 名称 ip地址 cpu 内存 lgy-k8s-master0021 10.65.0.21 4c 8G lgy-k8s-node0012 10.65.0.12 4c 8G node节点初始化(以新 ...

  10. 处理code中代码格式化与eslint冲突

    在结尾去掉分号 让字符串格式化之后用单引号表示 去掉格式化后自动给末尾加的逗号 在根目录下新建一个文件prettierrc 输入如下 函数名与()之间取消空格 打开eslintrc.js 输入如下代码 ...