SpringBoot - yml写法

Posted hk_若水三千

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot - yml写法相关的知识,希望对你有一定的参考价值。

 1 #区分大小写
 2 server:
 3   port: 8081
 4   path: hello
 5 
 6 #字面量:普通的值(数字,字符串,布尔):
 7   #字符串:双引号 - 不转义  单引号 - 转义
 8 
 9 
10 #对象、Map(属性和值)(键值对):
11   #还是k: v方式:在下一行来写对象的属性和值的关系;注意缩进
12 friends:
13   lastName: zhangsan
14   age: 20
15 #行内写法
16 friends2: {lastName: zhangsan,age: 12}
17 
18 #数组(List、Set):
19   #用短横线- 值表示数组中的一个元素
20 pets:
21   - cat
22   - dog
23   - pig
24 #行内写法
25 pets2: [cat,dog,pig]

 

/**
 * @Author: 张世罡
 * @Date: 2019/10/10
 * @Description: com.fulan.bean
 *      将配置文件中配置的每一个属性的值,映射到这个组件中
 *      @ConfigurationProperties: 告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行梆定
 *
 *      只有这个组件是容器中的组件,才能为容器提供功能
 * @version: 1.0
 */
@Data
@ToString
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
//    @Value("${person.last-name}")
//TODO @Email没效果
    @Email
    private String lastName;
//    @Value("#{11*2}")
    private Integer age;
//    @Value("true")
    private Boolean boss;
    private Date birth;

    private Map<String,Object> maps;
    private List<Object> lists;
    private Dog dog;
}

使用    @ConfigurationProperties(prefix = "person")    需要导入jar

 <!--导入配置文件处理器,配置文件进行梆定就会有提示-->
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-configuration-processor</artifactId>
             <optional>true</optional>
         </dependency>

不用写Set/Get方法,导入lombok包

<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.8</version>
            <scope>provided</scope>
        </dependency>

  application.yml

server:
  port: 8081

person:
  lastName: zhangsan
  age: 18
  boss: false
  birth: 2017/3/4
  maps: {k1: v1,k2: v2}
  lists:
    - pig
    - dog
    - cat
  dog:
    name: small dog
    age: 2

 

 application.properties

配置person的值
person.last-name=张三
person.age=18
person.birth=2017/4/2
person.boss=false
person.maps.k1=v1
person.maps.k2=11
person.lists=a,b,c
person.dog.name=dog
person.dog.age=22

 

 

修改properties文件编码,显示文件时转为ascii码  --  防止乱码

 

 

 

 

  松散语法梆定:驼峰命名和横杠混用

 

提示:我的@Email没有生效

 

应用场景:只需要配置文件中的某个值时,使用@Value就可以

 SpringTest:

  主程序最好写在根目录下面,这样能够和测试类在同一包下面

 

 

 

以上是关于SpringBoot - yml写法的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot——聊聊application.properties和application.yml的写法规范及区别

SpringBoot配置文件详解

SpringBoot中yml配置文件:定义list集合数组及注意事项

SpringBoot读取application.properties文件

Springboot启动找不到bean

Springboot实战系列之@Value注解的使用心得