spring boot配置文件格式 ${}和@@

${}和@@都是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@

$ {@@}和${@}都是用来引用属性的格式,但是它们的含义略有不同。

${@}格式通常用于在Java代码中设置属性的默认值,如果属性在配置文件中存在,则会覆盖默认值。如果属性在配置文件中不存在,则会使用默认值。

${@@}格式通常用于在Java代码中设置属性的默认值,并且在配置文件中存在相同属性时不会覆盖默认值,即配置文件中的属性会优先于默认值。

综上所述,$ {@}和$ {@@}的主要区别在于是否优先使用配置文件中的属性值。具体使用哪种格式,取决于实际需求和代码逻辑。如果您需要设置默认值并确保配置文件中的属性不会覆盖默认值,则可以使用$ {@@}格式。否则,可以使用${@}格式。

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值