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

网友投稿 617 2022-08-18


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

目录配置文件属性变量引用${}和@@用法${}常用于pom.xml@@方式常用于引用springboot非默认配置文件配置文件中的“@”问题springboot配置文件中的${…}和@…@起因原因解决

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

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

具体区别与用法:

${}常用于pom.xml

和 src/main/resources/application.properties等默认配置文件的属性变量引用。

语法为:field_name=${field_value}

pom.xml示例:

2.7.0

http:// org.apache.dubbo

dubbo

${dubbo.version}

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, developmefJzzGVfdnt.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,点击图中两个按钮刷新下项目。再次启动完美运行。还是不行就清理下缓存再刷新。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java的Tomcat和Servlet的运行原理详解
下一篇:Java进程间通信之消息队列
相关文章

 发表评论

暂时没有评论,来抢沙发吧~