美文网首页
1.springboot配置管理

1.springboot配置管理

作者: _少年不知愁 | 来源:发表于2020-09-18 22:32 被阅读0次

1.spring boot 配置

默认读取application.properties

现在大家常用application.yml

最简单properties->yml

只需要把=替换成:空格

info.app: actuator-demo
info.phone: 1234466

但是yml适合下面这种层级关系

yml能保证上下顺序问题,properties不能保证顺序

  # 描述信息
info:
  app: actuator-demo
  phone: 1234466

2.配置方式

获取配置的方式有多达 17 种

1.在主目录(当 devtools 被激活,则为 ~/.spring-boot-devtools.properties )中的 Devtools 全局设置属性。

2.在测试中使用到的 @TestPropertySource 注解。

3.在测试中使用到的 properties 属性,可以是 @SpringBootTest 和用于测试应用程序某部分的测试注解。

4.命令行参数。

5.来自 SPRING_APPLICATION_JSON 的属性(嵌入在环境变量或者系统属性【system propert】中的内联 JSON)

6.ServletConfig 初始化参数。

7.ServletContext 初始化参数。

8.来自 java:comp/env 的 JNDI 属性。

9.Java 系统属性(System.getProperties())。

10.操作系统环境变量。

11.只有 random.* 属性的 RandomValuePropertySource。

12.在已打包的 fatjar 外部的指定 profile 的应用属性文件(application-{profile}.properties 和 YAML 变量)。

13.在已打包的 fatjar 内部的指定 profile 的应用属性文件(application-{profile}.properties 和 YAML 变量)。

14.在已打包的 fatjar 外部的应用属性文件(application.properties 和 YAML 变量)。

15.在已打包的 fatjar 内部的应用属性文件(application.properties 和 YAML 变量)。

16.在 @Configuration 类上的 @PropertySource 注解。

17.默认属性(使用 SpringApplication.setDefaultProperties 指定)

2.1 常用配置

配置文件

环境变量

外部配置

命令行参数

2.1.1 环境变量

server:
  port: ${port}

再环境变量中配置

enviroment variables

port=9999

${port:9992}表示如果没有配置port参数则默认取9992

也可以启动时设置

java -jar test-springboot-demo.jar --port=9998

2.1.2 外部配置

在jar包中外放一个application.yml中设置

jar包外的优先级高于jar包内的配置文件

server:
  port: 9991
  
  java -jar .\test-springboot-demo.jar
  启动,端口为9991

2.1.3 命令行

java -jar .\test-springboot-demo.jar --server.port=9992

问题

如果--已经配置了参数还是报错could not resolve placeholder
请检查启动类SpringApplication.run(ActuatorApplication.class,args);是否配置args参数

相关文章

网友评论

      本文标题:1.springboot配置管理

      本文链接:https://www.haomeiwen.com/subject/tvesyktx.html