其他分享
首页 > 其他分享> > yml语法01

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]

搭配使用的注解

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

profix: “person”

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

@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

标签:01,name,配置文件,spring,profiles,语法,dev,zhangsan,yml
来源: https://blog.csdn.net/H5214/article/details/121185880