springboot读取yml配置文件的三种方式

简介: springboot读取yml配置文件的三种方式

@[TOC]

1 yml示例

name: 胡思源

# 对象
person:
  name: ${
   name}
  age: 1

# 数组
aoteman: [迪迦,赛罗]

guaishou:
  - 亚波人
  - 贝利亚

# 纯量
msg1: 'hello \n world' # 不会识别转义符,会原样输出
msg2: "hello \n world" # 会识别转义字符

2 @Value

    @Value("${name}")
    private String name;

    @Value("${person.age}")
    private String age;

    @Value("${aoteman[0]}")
    private String atm;

3 Environment

    @Autowired
    private Environment env;

    public void test(){
   
        System.out.println(env.getProperty("person.name"));
        System.out.println(env.getProperty("aoteman[0]"));
    }

4 @ConfigurationProperties

  • 写配置文件对应的实体类
    ```java
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "person")
public class Person {

private String name;

private int age;

private String[] address;

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}

public String[] getAddress() {
    return address;
}

public void setAddress(String[] address) {
    this.address = address;
}

@Override
public String toString() {
    return "Person{" +
            "name='" + name + '\'' +
            ", age=" + age +
            '}';
}

}

* 读取配置文件并使用
```java
    @Autowired
    private Person person;

    public void test(){
        System.out.println(person);
        System.out.println(person.getAddress()[0]);
        System.out.println(person.getAddress()[1]);
    }
目录
相关文章
|
7月前
|
XML JavaScript 前端开发
【Java】Spring Boot中的配置properties 和 yml 的区别
【Java】Spring Boot中的配置properties 和 yml 的区别
|
8月前
|
Java Linux Maven
SpringBoot多环境的yml或properties配置,生产环境和开发环境分离(超详细)
SpringBoot多环境的yml或properties配置,生产环境和开发环境分离(超详细)
135 0
|
4月前
|
Java C++
SpringBoot中的properties,yml,yaml的区别
SpringBoot中的properties,yml,yaml的区别
34 0
|
6月前
|
Java
springboot(若依)多模块获取yml属性
springboot(若依)多模块获取yml属性
115 0
|
3月前
|
Java Docker 容器
docker部署springboot指定yml文件
docker部署springboot指定yml文件
62 0
QGS
|
4月前
|
JSON Java 关系型数据库
手拉手Springboot获取yml配置文件信息
手拉手Springboot获取yml配置文件信息
QGS
34 1
|
4月前
|
安全 JavaScript Java
你有没有觉得邮件发送人固定配置在yml文件中是不妥当的呢?SpringBoot 动态设置邮件发送人
你有没有觉得邮件发送人固定配置在yml文件中是不妥当的呢?SpringBoot 动态设置邮件发送人
61 0
|
10月前
|
Java
springboot优雅的获取yml配置
springboot优雅的获取yml配置
102 0
|
5月前
|
Java Go 数据库
SpringBoot配置文件(properties & yml)
SpringBoot配置文件(properties & yml)
|
5月前
|
XML Java 数据格式
SpringBoot中yml与properties配置文件及bean取值赋值
SpringBoot中yml与properties配置文件及bean取值赋值
150 0