SpringBoot学习(二)SpringBoot的配置

SpringBoot学习(二)SpringBoot的配置

配置文件

全局配置文件

SpringBoot使用一个全局的配置文件,配置文件名称是固定的,修改自动配置的默认值

  • application.properties
  • application.yml

YAML(YAML Ain’t Markup Language)

YAML A Markup Language(YAML 是一种标记语言),YAML isn’t Markup Language(YAML 不是一种标记语言)。以数据为中心

spring:
  application:
    name: springboot-02-config
server:
  port: 8080

YAML语法

基本语法

key:(空格)value:表示已对键值对,空格必须有。以空格缩进来控制层级关系,只要左对齐的一列数据,都是同一个层级。属性和值大小写敏感。

字面量,普通的值(数字、字符串、布尔)

key: value:字面量直接写,字符串默认不加单双引号

“”(双引号): 不会转义特殊字符,特殊字符会作为本身想表示的意思输出

name: "zhangsan \n lisi"
# 输出
zhangsan
lisi

‘’(单引号): 会转义特殊字符,将特殊字符作为普通字符串输出

name: 'zhangsan \n lisi'
# 输出
zhangsan \\n lisi
对象、map(键值对)

key: value

# 一般写法 
user: 
 name: zhangsan
 age: 20
# 行内写法
student: {
   name: zhangsan, age: 20}
数组(List、Set、Array)

- value表示数组中的一个元素

# 一般写法
pets: 
 - cat
 - dog
 - pig
# 行内写法
myPets: [cat, dog, pig]

配置文件值注入

@ConfigurationProperties

默认从全局配置文件中获取值

YAML 文件配置

@ConfigurationProperties(prefix = "person"):SpringBoot将本类中所有属性和配置文件中相关的配置进行绑定

  • prefix = "person":设置绑定配置的前缀

需要组件是容器中的组件,才能使用容器提供的@ConfigurationProperties(prefix = "person")功能。使用注解@Componet将组件添加到容器中

导入配置文件处理器,配置文件进行绑定就会有提示。导入之后需要重启应用

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

application.yml

spring:
  application:
    name: springboot-02-config
server:
  port: 8080
person:
  lastName: zhangshan
  age: 18
  boss: false
  birth: 2017/12/11
  maps: {
   k1: v1, k2: v2}
  list:
    - lishi
    - wangwu
  pet:
    name: 大黄
    age: 12

Person.java

import lombok.
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值