SpringBoot配置详解

2021-07-22 00:55

阅读:737

标签:读取配置   详解   env   区别   配置文件   serve   自己   autowire   col   

简述

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

yml和properties的区别

  properties文件和我们平常写的是一样的,就是键值对

server.port=8080

  而yml的写法略有不同,需要注意的是子属性有缩进,且值前面有空格

server:
    port: 8080

技术图片

优先级

  properties文件的优先级>yml>yaml

YAML简介

  YAML是YAML Ain‘t Markup Language的缩写。YAML是一种直观的能够被电脑识别的数据序列化格式,并且容易被人类阅读,容易和脚本语言交互,可以被支持YAML库的不同的编程语言导入。YAML是以数据为核心的,比传统的xml方式更加简洁。

YAML基本语法

  大小写敏感

  数据值前边必须有空格,作为分隔符

  使用缩进表示曾经关系

  缩进时不允许使用tab,只允许使用空格

  缩进的空格数不重要,只要相同层级的元素左对齐即可

  #表示注释,从#到行尾,都会被解析器忽略

YML数据格式

技术图片

读取配置文件内容

  一共有三种方式来读取我们的配置文件内容:

@Value注解  

  这也是spring框架支持的解析方式,我们可以在需要注入的变量的上方加value注解,注解值支持spel表达式,写上"${properties的键名}"即可获取到对应的值

Environment方式

  我们可以在类中定义一个Environment类型的变量,通过Autowired注解在spring容器初始化好这个变量。

  我们就可以用它的getProperty("properties的键名")方法获取到value值

ConfigurationProperties注解

  我们在实体类上方使用ConfigurationProperties注解,意思就是这个类和配置文件相映射

技术图片

 

  注解的值就是配置文件里的父级键名,我们写person就意味这要在配置文件里找person前缀的值,并把值注入person对象

技术图片

 

  当spring将person类加入核心容器时就会自动将配置文件里的值进行注入

 

 

 

SpringBoot配置详解

标签:读取配置   详解   env   区别   配置文件   serve   自己   autowire   col   

原文地址:https://www.cnblogs.com/qq2210446939/p/15030694.html


评论


亲,登录后才可以留言!