转自:https://blog.csdn.net/weixin_42315600/article/details/88608262?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

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

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐