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的启动过程 ...
随机推荐
- FileZilla链接centos虚拟机不显示问题
这段时间因为不是很忙,一直想学习一下网络安全方面的技术,准备考个信安中级,网络安全方面经常用到虚拟机,所以及用vm新建虚拟机后,一直发现连不上FileZilla,于是就在网上搜了一下,有一些参考问题, ...
- webpack4从0开始构建前端单页项目(15)用clean-webpack-plugin清理构建前的目录(dist)
clean-webpack-plugin 这个插件用来清空打包后的 dist 目录下的文件.可以避免每次打包前手动删除构建目录(dist)下的文件. 安装 clean-webpack-plugin c ...
- Scoped方法(防止样式名称冲突)
App.vue <template> <div> <Student/> <School></School> </div> < ...
- 微信小程序顶部透明
{ "pages": [ "pages/index/index" ], "window": { "backgroundTextSt ...
- wpf 解决画图模糊或抗锯齿以及文字模糊或抗锯齿问题
解决方案中使用的.Net FrameWork版本:4.6.1 画图模糊或抗锯齿: 控件属性加入 SnapsToDevicePixels="True" 文字模糊或抗锯齿: 控件属性 ...
- COOP/COHP(上)-PROOUT
晶体轨道重叠布居 COOP(crystal orbital overlap population)的一个更为直观的名称是 重叠布居权重的态密度 (overlap population-weighted ...
- 思科IPsecVPN建立
实验拓扑 实验目标: 1.不配置中间的三个路由器的路由实现router0和router2的vpn隧道 2.PC0能够ping通PC1 实验IP预定: PC0 10.1.1.1/24 PC1 20.1. ...
- JIT和AOT的区别
http://net-informations.com/faq/qk/jit.htm Compilers are tools that convert human readable text into ...
- 【TensorFlow】InternalError: Failed copying input tensor
TensorFlow-GPU 执行模型训练时报错: InternalError: Failed copying input tensor from /job:localhost/replica:0/t ...
- iphone tabbar问题
适配新款苹果底部tabbar,网上找了代码,不能用.翻出苹果各型号尺寸发现找的代码稍微有点问题.自己改了下. 关键的判断在于window.screen.height > 800这是区分带tabb ...