Springboot读取yml文件参数

简介: Springboot读取yml文件参数

几种数据格式

  1. 普通的值(数字,字符串,布尔)就是:key: value
  2. 对象、Map (属性和值) (键值对)
  3. 数组 (List、Set)

字符串默认不用加上单引号或者双引号;

"":双引号;不会转义字符串里面的特殊字符; name: “zhangsan \n lisi”:输出;zhangsan 换行 lisi

’’:单引号;会转义特殊字符 据 name: ‘zhangsan \n lisi’:输出;zhangsan \n lisi

# 对象、Map
person:
    age: 18
    name: Tom
# 用- 值表示数组中的一个元素    
hands:
   - left
   - right

@value方式

server:
  port: 9091
@Value("${server.port}")
public String port; 
@Value("${tag}")
private String value
@Value("#{configProperties['tag.msgname']}")
private String value
@Value("${tag.msgname}")
private String value

value 值为空:

  • 使用static或final修饰
    private static String value; //错误
    private final String value; //错误
  • 类上没有加上@Component(或@service等)
  • 没有使用@Autowired注入而是通过new创建实例

@ConfigurationProperties方式

student:
    age: 18
    name: polly
@Component
@ConfigurationProperties(prefix = "student")
public class Student {
    private String name;
    private Integer age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

@ConfigurationProperties读取参数,需要一个JavaBean 来专门映射配置

使用@ConfigurationProperties,需要配置一个prefix (前缀) 参数, 即写上 key 就可以了

@Environment方式

test:
    msg: a123
@Autowired
  private Environment env
  @RequestMapping(value = "index", method = RequestMethod.GET)
  public void index() {
      System.out.println(env.getProperty("test.msg"));
  }
}


相关文章
|
1月前
|
Java 应用服务中间件
SpringBoot获取项目文件的绝对路径和相对路径
SpringBoot获取项目文件的绝对路径和相对路径
104 1
SpringBoot获取项目文件的绝对路径和相对路径
|
1月前
|
网络协议 Java
springboot配置hosts文件
springboot配置hosts文件
50 11
|
1月前
|
存储 前端开发 JavaScript
|
1月前
|
存储 Java API
|
1月前
|
Java
SpringBoot获取文件将要上传的IP地址
SpringBoot获取文件将要上传的IP地址
36 0
|
Java 数据库连接
SpringBoot 2.0参数校验Hibernate Validator
SpringBoot 2.0参数校验Hibernate Validator
SpringBoot 2.0参数校验Hibernate Validator
|
JSON 前端开发 Java
SpringBoot 如何进行参数校验
在SprinBoot中如何集成参数校验Validator,以及参数校验的高阶技巧
200 1
SpringBoot 如何进行参数校验
|
JSON 数据安全/隐私保护 数据格式
SpringBoot中的异常处理与参数校验_2
  兄弟们好,这次来跟老铁交流两个问题,异常和参数校验,在说参数校验之前我们先来说异常处理吧,因为后面参数的校验会牵扯到异常处理这块的内容。   说到异常处理,我不知道大家有没有写过或者遇到过如下的写法。
234 0
|
Java Spring
SpringBoot 开发秘籍 - 整合参数校验
对于web服务来说,为防止非法参数对业务造成影响,在Controller层一定要对参数进行校验!本章我们以SpringBoot项目为例,介绍参数校验的基本用法以及一些高级技巧,希望能对你有所帮助。
222 0
SpringBoot 开发秘籍 - 整合参数校验