美文网首页
Spring Boot 配置文件的占位符处理

Spring Boot 配置文件的占位符处理

作者: 尚水杨 | 来源:发表于2020-08-05 16:05 被阅读0次

占位符配置替换

配置文件中出来的值都会经过已经存在的Environment的处理,这样可以引用之前定义的值,不需要重复出现多个值,便于后续的维护。

app.name=MyApp
app.description=${app.name} is a Spring Boot application

短参数的使用

在命令行中,大家比较偏向使用短参数,如--port=9000替代--server.port=9000
可以通过配置的占位符引用来实现

server.port=${port:8080}

与Maven分隔符闺冲突的问题

默认情况下,maven分隔符如下:

<delimiters>
  <delimiter>${*}</delimiter>
  <delimiter>@</delimiter>
</delimiters>

但是工程POM如果是继承spring-boot-starter-parent,那么,这个分隔符就会进行修改
在spring-boot-starter-parent中进行了修改只有@maven.token@才会被maven替换。

代码片段

...
 <artifactId>spring-boot-starter-parent</artifactId>
  <packaging>pom</packaging>
  <name>spring-boot-starter-parent</name>
....
 <properties>
    <java.version>1.8</java.version>
    <resource.delimiter>@</resource.delimiter>

...
 <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <configuration>
            <delimiters>
              <delimiter>${resource.delimiter}</delimiter>
            </delimiters>
            <useDefaultDelimiters>false</useDefaultDelimiters>
          </configuration>
        </plugin>

相关文章

网友评论

      本文标题:Spring Boot 配置文件的占位符处理

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