${}和@@都是springboot引用属性变量的方式,具体区别与用法:
1、${}常用于pom.xml,和 src/main/resources/application.properties等默认配置文件的属性变量引用。
语法为:field_name=${field_value}
pom.xml示例:
<properties><dubbo.version>2.7.0</dubbo.version>
</properties><dependencies><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo</artifactId><version>${dubbo.version}</version></dependency></dependencies>
application.properties示例:
logback日志配置
log.config.address=classpath:config/logback-spring.xml
logging.config=${log.config.address}
2、@@ 方式常用于引用springboot非默认配置文件(即其他配置文件)中的变量,是springboot为替代${}属性
占位符产生,原因是${}
会被maven处理,所以引用非默认配置文件时起不到引用变量的作用。
语法为:
field_name=@field_value@
示例:在实际项目开发中,为了在不同环境进行测试,我们会在src/main/resources目录下创建config文件夹,并在config中创建多个properties文件,例如:local.properties, development.properties, production.properties
,当我们在src/main/resources/application.properties
文件中引用src/main/resources/config/local.properties
的属性变量时,就要使用@@方式
端口配置
server.port=@server.port.web@
logback日志配置
logging.config=@logging.config@