yml语法01

yml语法

引号的区别

双引号

不会转义字符串里面的特殊字符,特殊字符会作为本身想表达的意思

name:  name: "zhangsan \n lisi"   
输出:zhangsan 换行 lisi

单引号

会转义字符,特殊字符最终会以普通字符输出

name: 'zhangsan \n lisi'    
输出:zhangsan \n lisi

对象和Map

friends:
	name: zhangsan
	age: 20
或者:
friends: {name: zhangsan,age: 20}

数组(List、Set)

用- 来表示每一个元素

pets:
	- cat
	- dog
	- pig
或者:
pets: [cat,dog,pig]

搭配使用的注解

  • (写在类上)@ConfigurationProperties(profix: “person”)

告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定

profix: “person”

指定前缀(配置文件中的哪个属性下面的所有属性进行一一映射)

  • (写在属性上)@Value("${person.name}")

    ${}从字面量、配置文件中获取值

    #{}SpringEL(表达式)

  • @ConfigurationProperties 和 @Value获取值的比较

@ConfigurationProperties@Value
功能批量注入配置文件中的值只能一个个注入
松散绑定(松散语法)支出不支持
SpEL(Spring表达式)不支持支持
JSR303数据校验支持不支持
复杂类型封装支持不支持

两个注解都能获取到配置文件中的值;

如果说只是在某个业务中需要获取一下配置文件中的某项值,就用@Value

如果编写了一个JavaBean来和配置文件进行映射,就用@ConfigurationProperties

添加依赖

<!--导入配置文件处理器,导入此依赖后在配置文件中给属性绑定值时会有提示-->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>

加载指定的配置文件

把配置文件拆分成多个,花括号中的值可以有多个

@PropertySource(value = {“classpath:person.properties”})

给容器中添加组件

@Configuration//指明当前类是一个配置类
public class MyAppConfig {

    @Bean//
    public HelloController helloSerbice(){
        return new HelloController();
    }
    
}

文档块

文档块相当于多个文件

spring
	profiles
		active: dev
server
	port: 8080
---
spring
	profiles: dev
server
	port: 8081
---
spring
	profiles: test
server
	port: 8082

激活配置文件

  • 在配置文件中指定
spring.profiles.active=dev
  • 命令行参数

Java -jar 包名 --spring.profiles.active=dev

  • 虚拟机参数

-Dspring.profiles.active=dev

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值