Springboot配置文件占位符

Posted 我出一条鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Springboot配置文件占位符相关的知识,希望对你有一定的参考价值。

一、配置文件占位符

 

1、application.properties

server.port=8088
debug=false
product.id=ID:${random.uuid}
product.name=da mao mao
product.weight=${random.int}
product.fristLinePrice=${random.int(500,600)}
product.endLinePrice=${random.int[300,400]}
product.remark=${product.name}

 

2、SpringbootController

@RestController
public class SpringBootController {

    @Value("${product.id}")
    private String id;

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

    @Value("${product.weight}")
    private Integer weight;

    @Value("${product.fristLinePrice}")
    private Integer fristLinePrice;

    @Value("${product.endLinePrice}")
    private Integer endLinePrice;

    @Value("${product.remark}")
    private String remark;

    @RequestMapping("/proper")
    public String getProper() {
        System.out.println("SpringBootController{" +
                "id=‘" + id + ‘‘‘ +
                ", name=‘" + name + ‘‘‘ +
                ", weight=" + weight +
                ", fristLinePrice=" + fristLinePrice +
                ", endLinePrice=" + endLinePrice +
                ", remark=‘" + remark + ‘‘‘ +
                ‘}‘);

        return "hello!!!";
    }
}

 

3、result

SpringBootController{
  id=‘ID:188b528a-508f-44aa-9b5e-43c1af7b14e3‘,
  name=‘da mao mao‘,
  weight=237719179,
  fristLinePrice=572,
  endLinePrice=380,
  remark=‘da mao mao‘
}

 

二、配置文件获取之前的值(如果该值有,直接获取,如果没有使用默认值):此处由于前面的配置中没有product.name,那么他就使用默认值 xiao mao mao

server.port=8088
debug=false

product.id=ID:${random.uuid}
product.weight=${random.int}
product.fristLinePrice=${random.int(500,600)}
product.endLinePrice=${random.int[300,400]}
product.remark=${product.name:xiao mao mao}
SpringBootController{
  id=‘ID:fcf731f3-c028-452a-a831-a25c1bf41d33‘,
  name=‘null‘,
  weight=-1450910103,
  fristLinePrice=584,
  endLinePrice=357,
  remark=‘xiao mao mao‘
}

以上是关于Springboot配置文件占位符的主要内容,如果未能解决你的问题,请参考以下文章

【springboot】配置文件中的占位符 $

springboot配置文件占位符

Spring Boot 配置属性的未解决占位符验证

如果 Spring Boot 的属性文件中未提供占位符值,如何跳过?

spring boot 2-文件配置YAML语法文件处理器文件占位符profile

布局中的片段占位符