springboot配置文件属性变量引用方式${}和@@用法及区别说明

 更新时间:2022年03月21日 15:07:54   作者:小白的小小白的白  
这篇文章主要介绍了springboot配置文件属性变量引用方式${}和@@用法及区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

配置文件属性变量引用${}和@@用法

${}和@@都是springboot引用属性变量的方式

具体区别与用法:

${}常用于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}

@@方式常用于引用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@

配置文件中的“@”问题

springboot配置文件中的${…}和@…@

在springboot的配置文件中,即application.properties或application.yml

${}最好用于取springboot配置文件配置得值

@@引用其他文件(除springboot配置文件,像pom.xml)中定义的值, 用@ @

起因

从git拉取下来的代码,改一下数据库配置什么的开始运行。

报错:

found character '@' that cannot start any token. (Do not use @ for indentation)
 in 'reader', line 34, column 19:
            password: @spring.redis.password@

不应该阿,正常来说这里不应该报错。

原因

我猜测是有时候的编译没完全编译,看到编译后的文件里的内容并不是从pom.xml文件中读取的数据,显然是这块没有编译。

解决

打开侧边栏的maven,点击图中两个按钮刷新下项目。再次启动完美运行。还是不行就清理下缓存再刷新。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • maven安装、使用、配置本地仓库、idea配置maven以及解决plugins报错问题

    maven安装、使用、配置本地仓库、idea配置maven以及解决plugins报错问题

    本地仓库是远程仓库的一个缓冲和子集,当你构建Maven项目时首先会从本地仓库查找资源,如果没有那么Maven会从远程仓库下载到你本地仓库,这篇文章主要给大家介绍了关于maven安装、使用、配置本地仓库、idea配置maven以及解决plugins报错问题的相关资料,需要的朋友可以参考下
    2024-01-01
  • 基于Properties实现配置数据库驱动

    基于Properties实现配置数据库驱动

    这篇文章主要介绍了基于Properties实现配置数据库驱动,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • MyBatisPlus查询投影与查询条件详细讲解

    MyBatisPlus查询投影与查询条件详细讲解

    这篇文章主要介绍了MyBatisPlus DQL编程控制中的查询投影、查询条件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Java方法参数传递机制原理解析

    Java方法参数传递机制原理解析

    这篇文章主要介绍了Java方法参数传递机制原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • 解决Spring Boot 多模块注入访问不到jar包中的Bean问题

    解决Spring Boot 多模块注入访问不到jar包中的Bean问题

    这篇文章主要介绍了解决Spring Boot 多模块注入访问不到jar包中的Bean问题。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Java实现顺序表和链表结构

    Java实现顺序表和链表结构

    大家好,本篇文章主要讲的是Java实现顺序表和链表结构,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • JVM常量池的深入讲解

    JVM常量池的深入讲解

    这篇文章主要给大家介绍了关于JVM常量池的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 浅谈springboot的三种启动方式

    浅谈springboot的三种启动方式

    这篇文章主要介绍了浅谈springboot的三种启动方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • java输入多个数据(不确定),排序,并求最大值的方法

    java输入多个数据(不确定),排序,并求最大值的方法

    今天小编就为大家分享一篇java输入多个数据(不确定),排序,并求最大值的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Java的布隆过滤器你了解吗

    Java的布隆过滤器你了解吗

    这篇文章主要为大家详细介绍了Java的布隆过滤器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03

最新评论