这个问题官方文档解释的很清楚,意思就是
1,可以使用@..@的方式在application.yml或者application.properties文件中引用pom.xml文件中的属性变量(<properties>标签下的子标签,包括激活的profile下的属性)
2,可以通过一个maven插件修改默认的引用方式@..@,比如要改成 $..$这样
1<plugin> 2 <groupId>org.apache.maven.plugins</groupId> 3 <artifactId>maven-resources-plugin</artifactId> 4 <version>2.7</version> 5 <configuration> 6 <delimiters> 7 <delimiter>$</delimiter> 8 </delimiters> 9 <useDefaultDelimiters>false</useDefaultDelimiters> 10 </configuration> 11</plugin>
3,生效前提有两种方式
第一种是使用的是spring-boot官方parent,这样parent里已经设置好了资源目录,如:
1 <parent> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-parent</artifactId> 4 <version>2.2.4.RELEASE</version> 5 <relativePath /> <!-- lookup parent from repository --> 6 </parent>
第二种就是未使用官方parent,需要手动设置一下资源目录,filtering=true是让资源文件解析变量
1 <resources> 2 <resource> 3 <directory>src/main/resources</directory> 4 <filtering>true</filtering> 5 </resource> 6 </resources>