springboot配置文件属性变量引用方式${}和@@用法及区别说明
目录
- 配置文件属性变量引用${}和@@用法
- ${}常用于pom.xml
- @@方式常用于引用springboot非默认配置文件
- 配置文件中的“@”问题
- springboot配置文件中的${…}和@…@
- 起因
- 原因
- 解决
配置文件属性变量引用${}和@@用法 ${}和@@都是springboot引用属性变量的方式
具体区别与用法:
${}常用于pom.xml
和 src/main/resources/application.properties等默认配置文件的属性变量引用。
语法为:field_name=${field_value}
pom.xml示例:
2.7.0 org.apache.dubbo dubbo${dubbo.version}
application.properties示例:
#logback日志配置log.config.address=classpath:config/logback-spring.xmllogging.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,点击图中两个按钮刷新下项目。再次启动完美运行。还是不行就清理下缓存再刷新。
文章图片
【springboot配置文件属性变量引用方式${}和@@用法及区别说明】以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- springboot利用@Aspect实现日志工具类的详细代码
- 关于springboot-starter-undertow和tomcat的区别说明
- 记一次springboot中用undertow的坑
- SpringBoot实现发送邮件、发送微信公众号推送功能
- SpringBoot中@ConfigurationProperties实现配置自动绑定的方法
- Springboot从配置文件properties读取字符串乱码的解决
- 浅谈collection标签的oftype属性能否为java.util.Map
- 将本地SpringBoot项目发布到云服务器的方法
- jquery对标签添加只读(readonly)或者禁用(disabled)属性
- 后端开发|Springboot实现上传文件以及文件实时预览(包括图片预览,视频预览)