Spring Boot 使用 yml 配置文件

Spring Boot 使用 yml 配置文件

1、Spring Boot 支持两种配置文件:properties、yaml

yml 配置文件的配置规则:

  • 使用缩进表示层级关系 [ 缩进不能用 tab 键,而是使用空格键 ]
  • “#” 表示注释、双引号会将字符进行转义,而单引号不会。

2、演示案例:

2.1、创建 Java Bean

  • Address.java
@Data
@ToString
public class Address {
    private String value;
}
  • Book.java
@Data
@ToString
public class Book {
    private String bookName;
    private String price;
}
  • User.java
@Data
@ToString
@Component
@ConfigurationProperties(prefix = "user")
public class User {
    private String username;
    private String password;
    private Boolean regist;
    private Date date;
    private Integer age;
    private String[] interests;
    private List<String> cars;
    private Set<Double> salarys;
    private Address address;
    private Map<String, List<Book>> allBooks;
}

2.2、创建配置文件 application.yml

  • 字面量的配置形式:key: value [ 冒号后面带一个空格 ]
user:
  # String
  username: zhangsan
  password: 123456
  # Boolean
  register: false
  # Date
  date: 2021/01/12
  # Integer
  age: 17
  • 数组的配置形式:层级的写法或者行内写法都可以 [ 数组、List、Set ]
user:
  # String[]
  interests: [reading,basketball]  # 行内写法
  # Set
  salarys: [2999.99,3000]
  # List
  cars: [丰田,宝马]
  #  interests:       # 与行内写法等价
  #    - reading
  #    - basketball
  • 对象:Object、Map 等
user:
  # Object
  address: {value: 广州北京步行街}
  # Map
  allbooks: {phycological: [{bookName: 心理学与生活,price: 48.50}],programming: [{bookName: Thinking in Java,super,price: 68.0}]}
#  写法一:
#  allbooks:       
#    phycological:
#      - bookName: 心理学与生活
#      - price: 48.50
#    programming:
#      - bookName: Thinking in Java
#      - price: 68.0
#  写法二:
#  allbooks:
#    phycological:
#      - {bookName: 心理学与生活,price: 48.50}
#    programming:
#      - {bookName: Thinking in Java,price: 69.0}

扩展:配置提示 [ 将类绑定到配置文件中提示其属性值 ]

1、导入依赖

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

2、打包时将配置处理器 processor 排除

补充:配置处理器只是方便我们开发的小工具,与应用的功能无关,所以在打包时应该将其排除!

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <!-- 排除配置处理器 -->
            <configuration>
                <excludes>
                    <exclude>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-configuration-processor</artifactId>
                    </exclude>
                </excludes>
            </configuration>
        </plugin>
    </plugins>
</build>

简单总结:

  1. 简单数据类型:key: value 表示
  2. 数组和集合:key: [] 表示
  3. 对象和Map等:key: {} 表示

参考资料:https://www.yuque.com/atguigu/springboot/rg2p8g

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值