Spring Boot 默认全局配置文件,分别是properties文件和yml文件。他们主要作用是修改Spring Boot的自动配置的默认值,相对于properties文件而言,更多人喜欢使用yml的配置文件。在此之前我们一般都是使用xml的形式来完成我们的配置。xml是以标签的形式存在,而properties则是k=v的形式存在,相对于前两者而言, yml是以数据为中心,比json、xml更适合做配置文件,yml的出现更受大众的青睐。本文重点说说yml的魅力之处。以前我们都觉得配置就是一个项目的核心,现在只要记住一句话就OK啦!“约定大于配置”

一、.xml的语法,是一个标记文档(以标签的形式存在,写起来比较繁琐)

<?xml version="1.0" encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"  xmlns:task="http://www.springframework.org/schema/task"xsi:schemaLocation="http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.1.xsdhttp://www.springframework.org/schema/aop   http://www.springframework.org/schema/aop/spring-aop-3.1.xsdhttp://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context-3.1.xsd  http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsdhttp://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.1.xsd "><!-- 开启注解 --><context:annotation-config /><!-- 开启定时任务 --><task:annotation-driven/><!-- 自动扫描(service),mapper(dao) --><context:component-scan base-package="com.gx.mapper,com.gx.service,com.gx.job"><context:include-filter type="annotation" expression="org.springframework.stereotype.Service" /><context:include-filter type="annotation" expression="org.springframework.stereotype.Repository" /><context:include-filter type="annotation" expression="org.springframework.stereotype.Component"/></context:component-scan></beans>

二、.properties的语法 (以k=v的形式存在,写起来比上面的xml好不了多少)

//修改默认的端口号
server.port=8081
//访问静态资源的路径
spring.resources.static-locations=classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources
//文件上传的最大值
spring.servlet.multipart.max-request-size=10MB
spring.servlet.multipart.max-file-size=10MB

三、.yml 的语法,YAML A Markup Language:是一个标记语言 (以K空格V 的形式存在,写起来比较简便)

&emsp; &emsp;“约定大于配置”,我想这句话很多人都听说了吧!其实这么说也有它的道理的。

1、基本语法:

(1)、属性和值的大小字母都是比较敏感;
(2)、k:空格v:表示一对键值对(空格必须要有);
(3)、以空格的缩进来控制控制层级关系;只要是左对齐的一列数据,都是同一个级;否则会出现数据混乱

      server:port: 8090path: /hello

2、值的写法:

(1)、在字符串的赋值时,不需要添加单引号或者双引号。如果里添加了单(双)引号,则特殊字符以字符串的形式输出。字符串默认不用加上单引号或者双引号。

正确 :name:   小明 \n 小红:输出:小明 换行 小红
错误:name:   ‘小明 \n 小红’:输出;小明\n 小红

3、对象、Map的写法:(对象是以属性和值,Map是键值对)

//第一种写法

Friends: {lastName: xiaozhang, age: 20}

//第二中写法。在写的时候需要注意:在下一行来写对象和属性的关系,记得缩进 。对象是以K:(空格)V的形式

friends:lastName: xiaozhangAge: 20

4、数组(List)的写法

//-(空格)值表示数组中的某一个的元素

Pets:- cat-dog-pig

5、以学生类为例

Student类

@Component  //将此Javabean放入spring容器
@ConfigurationProperties(prefix="student")  //通过他批量注入
public class Student {@Value(“ls”)  //修改其中的值
private String name;/* 姓名 */@Value(“33”)private int age;/* 年龄 */private boolean sex;/* 性别 */private Date birthday;/* 出生日期 */private Map<String, Object> location; /* 家庭地址 */private String[] hobbies; /* 爱好 */private List<String> skills; /* 技能 */private Pet pet;/* 宠物 *//生成get和set
//生成toString()
}

yml赋值

student:name: lsage: 24sex: truebirthday: 2019/2/12location: {province: 广东,city: 广州,zone: 天河区}hobbies:- 篮球- 音乐skills:- 编程- 金融pet: nickName: wangcaistrain: hsq

第一次输出的结果:

修改后输出结果:

   通过上面的结论:一次又一次证明了.yml的配置,符合了约定大于配置。如果里的写法不符合约定就会出错。虽然.yml的配置写法确实减少了不少,但我们一定要遵守我们的约定。

Spring Boot配置文件---约定大于配置相关推荐

  1. spring boot配置文件自定义加密配置

    公司漏洞检测,检测到 线上的jar包中配置文件里面数据库密码 ,redis密码等等配置都是明文,所以需要在配置文件中加密.所以为了实现该功能直接贴代码 贴一下原作者的git(原文章忘记在哪里了),感谢 ...

  2. SpringBoot约定大于配置的特性解读 SpringBoot快速入门

    SpringBoot约定大于配置 Spring官方网站本身使用Spring框架开发,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置文件以及复杂的Bean依赖关系.随着Spring 3.0的 ...

  3. Spring Boot(一) 自动装配--约定大于配置

    欢迎去我的个人博客--晓坞坐坐,里面有很多有趣的文章,不止是技术.www.lixiaodongisme.com 随着spring体系的发展,我们在开发时需要配置整合的东西也越来越多,在进行开发时,繁琐 ...

  4. springboot 读取配置文件_使用 @ConfigurationProperties 在 Spring Boot 中加载配置

    本文地址: 使用 @ConfigurationProperties 在 Spring Boot 中加载配置 使用 Spring Boot 加载配置文件的配置非常便利,我们只需要使用一些注解配置一下就能 ...

  5. SpringBoot约定大于配置理解

    约定大于配置是一种开发原则,就是减少人为的配置,直接用默认的配置就能获得我们想要的结果. SpringBoot的约定大于配置,按我的理解是:对比SpringMVC,需要在web.xml里面配置前端控制 ...

  6. spring boot配置文件详解

    spring boot配置文件详解 application.properties是spring-boot的核心配置文件,这个配置文件基本可以取代我们ssm或者ssh里面的所有的xml配置文件. 当我们 ...

  7. Spring Boot 2.0 的配置详解(图文教程)

    本文来自作者 泥瓦匠 @ bysocket.com 在 GitChat 上分享 「Spring Boot 2.0 的配置详解(图文教程)」 编辑 | 哈比 Spring Boot 配置,包括自动配置和 ...

  8. Spring Boot配置文件学习记录【1】

    [1]Spring Boot配置文件 Spring Boot配置层面的知识已学习完.总结一下本周的学习内容,一切都需要从@SpringBootApplication谈起,因为它,做到了真正配置文件的简 ...

  9. Spring Boot配置文件放在jar外部

    Spring Boot配置文件放在jar外部 2018年03月16日 10:09:17 qq_37334435 阅读数:1488 Spring Boot程序默认从application.propert ...

最新文章

  1. RemoteFX原理简介
  2. NLP命名实体识别NER数据准备及模型训练实例
  3. RNA-seq:【FastQC】
  4. MySQL数据库学习笔记(一)----MySQL 5.6.21的安装和配置(setup版)
  5. 数据分析(排序,数据特征、平均数、方差等,累计统计,相关分析)
  6. IBM推出云深度学习图形芯片Tesla P100 GPU加速器
  7. ​超越Transformer!AAAI 2021最佳论文:高效长序列预测模型
  8. hog函数的用法 python_Python中的基本函数及常用用法简析
  9. 【报告分享】2020年中国5G经济报告--助力新时代高质量发展.pdf(附下载链接)...
  10. Yarn 调度器Scheduler详解
  11. java8官网下载地址
  12. 红盟云卡-开源的发卡网源码
  13. 灵格斯怎么屏幕取词_灵格斯屏幕取词翻译插件
  14. android音频格式,适用于iOS和Android的音频格式
  15. flow.php 漏洞,php – 使用Apache的Flowplayer安全流
  16. Stripies POJ 1862
  17. css选择器有哪些?
  18. Mybatis 特殊符号(大于,小于,不等于)及常用函数总结
  19. python实现工作流审批_工作流和审批流
  20. 12.寻光集后台管理系统-库存信息(后端)

热门文章

  1. Redis缓存击穿、雪崩、穿透!(超详细)
  2. 安装qq提示IE浏览器版本低
  3. Qt 之打开系统文件管理器
  4. 基于网络爬虫的新闻实时监测分析可视化系统(Java+MySQL+Web+Eclipse)
  5. 如何更改使用 Matplotlib 绘制的图形的大小?
  6. 关于爱国者黑客的追踪报道..
  7. 盛世昊通:广州车展那些出彩的车,你心动了吗?
  8. 软考-信息系统项目管理师-论文
  9. 英语单词Caement水泥
  10. 一个成功的男人如何去追求身边的女人