SpringBoot(概述、起步依赖原理分析、SpringBoot配置(配置文件分类、YAML))
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))的更多相关文章
- SpringBoot原理分析与配置
1.1 起步依赖原理分析 1.1.1 分析spring-boot-starter-parent 按住Ctrl点击pom.xml中的spring-boot-starter-parent,跳转到了spri ...
- SpringBoot原理—分析SpringBoot启动机制(starter机制)
一:前言使用过springboot的同学应该已经知道,springboot通过默认配置了很多框架的使用方式帮我们大大简化了项目初始搭建以及开发过程.本文的目的就是一步步分析springboot的启动过 ...
- Azure WAF防火墙工作原理分析和配置向导
Azure WAF工作原理分析和配置向导 本文博客地址为:http://www.cnblogs.com/taosha/p/6716434.html ,转载请保留出处,多谢! 本地数据中心往云端迁移的的 ...
- SpringBoot 自动装配的原理分析
关于 SpringBoot 的自动装配功能,相信是每一个 Java 程序员天天都会用到的一个功能,但是它究竟是如何实现的呢?今天阿粉来带大家看一下. 自动装配案例 首先我们通过一个案例来看一下自动装配 ...
- springboot的起步依赖
加载自动配置的方式2: springboot读取配置文件的方式: 1.读取核心配置文件 核心配置文件是指在resources根目录下的application.properties或applicatio ...
- DBCP连接池原理分析及配置用法
DBCP连接池介绍 ----------------------------- 目前 DBCP 有两个版本分别是 1.3 和 1.4. DBCP 1.3 版本需要运行于 JDK 1.4-1.5 ,支持 ...
- Memcached的原理分析与配置
一.Why Memcached? • 高并发访问数据库的痛楚:死锁! • 硬盘IO之痛:本机:AspNet:HttpRuntime.Cache • 多客户端共享缓存 • Net+Memory>& ...
- Solr缓存原理分析及配置优化
一.缓存原理 缓存,带来急速性能体验! Solr提供了一系列的内置缓存来优化查询性能.Solr的缓存原理主要涉及以下4个方面: 1.缓存大小及缓存置换法 从缓存大小的角度来看,不能将缓存设置的太大,否 ...
- SpringBoot原理深入及源码剖析(一) 依赖管理及自动配置
前言 传统的Spring框架实现一个Web服务需要导入各种依赖jar包,然后编写对应的XML配置文件等,相较而言,SpringBoot显得更加方便.快捷和高效.那么,SpringBoot究竟是如何做到 ...
- 深入springboot原理——一步步分析springboot启动机制(starter机制)
前言 使用过springboot的同学应该已经知道,springboot通过默认配置了很多框架的使用方式帮我们大大简化了项目初始搭建以及开发过程.本文的目的就是一步步分析springboot的启动过程 ...
随机推荐
- AXI VALID READY 握手机制
1. VAILD 和READY 传输方向 2. VAILD 和READY依赖关系 前面说到AXI的五个通道是独立的,但通道间必须保持一定的约定关系:写回复必须在一次写事务的最后一个写数据之后读数据必须 ...
- Salesforce Connect 连接两个不同的Org(实际设置方法)
利用Salesforce的标准功能:Salesforce Connect,可以轻松的将两个组织(Org)连接起来.实现Object的共享(包括参照和编辑). 要求: ①两个组织必须是开发者Edtion ...
- pytest学习总结
官方pytest文档:Full pytest documentation - pytest documentation 一.pytest以及辅助插件的安装 1.pytest安装 pip install ...
- MaaS模型即服务
chatgpt的API开放让我看到了科研和产业结合的一种方式, 最新的科研成果也能飞入百姓家了. 也看到了MaaS的未来,估计要出现一批提供在线模型的新创公司了.
- UE4常用快捷键
编辑器快捷键 按键 操作 W 选择"移动"工具 E 选择"旋转"工具 R 选择"缩放"工具 F 聚焦对象 End 落到地面 Alt + En ...
- 使用centos8.5配置一台YUM源服务器
公司的生产环境部署的Centos8.5, 现在已经EOL了, 为了给生产和测试机继续提供yum/dnf服务, 特意在公司的内部机房部署了一套本地yum源. 环境:centos 8.5 1. 下载镜像 ...
- Markdown中如何让# * >等符号原样显示,不转义解析成对应Markdown语法
加\转义: * markdown 中如果遇到有字符与原有语法冲突, 可以使用反引号"`"包裹需要转移的内容. * 反引号位于键盘左上角Esc下面的位置 示例: # * > 原 ...
- 用dig或nslookup命令查询txt解析记录
这几天想把HTTPS装上,阿里云的免费证书需要在域名解析的地方添加TXT记录.文档里用的是dig命令,我本地装了nslookup.试验下如何用咯. dig命令 dig用法很多,这里只使用dig txt ...
- ObjectARX2016-1打印HelloWolrd
首先把Objectarx2016和VS2012安装好,安装好之后,如果在VS2012创建项目的过程中出现创建项目失败的情况,可以查看我的第一篇随笔https://www.cnblogs.com/Arc ...
- re的finditer()
在前面学习了findall()函数,它可以一次性找到多个匹配的字符串,但是不能提供所在的位置,并且是一起返回的,如果有数万个一起返回来,就不太好处理了,因此要使用finditer()函数来实现每次只返 ...