这篇文章主要介绍了springboot配置文件属性变量引用方式${}和@@用法及区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
配置文件属性变量引用${}和@@用法
$ {}和@ @都是springboot引用属性变量的方式。
具体区别和用法:
${}常用于pom.xml
以及src/main/resources/application . properties等。
语法是:字段名称= $ {字段值}
pom.xml的示例:
lt;propertiesgt;? ? lt;dubbo.versiongt;2.7.0lt;/dubbo.versiongt;lt;/propertiesgt;??lt;dependenciesgt;? ? ?lt;dependencygt;? ? ? ? ?lt;groupIdgt;org.apache.dubbolt;/groupIdgt;? ? ? ? ? lt;artifactIdgt;dubbolt;/artifactIdgt;? ? ? ? ? lt;versiongt;${dubbo.version}lt;/versiongt;? ? ?lt;/dependencygt;?lt;/dependenciesgt;
application.properties示例:
#logback日志配置log.config.address=classpath:config/logback-spring.xmllogging.config=${log.config.address}
@@方式常用于引用springboot非默认配置文件
springboot会生成其他配置文件(即其他配置文件)中的变量来替换$ {}属性占位符。原因是${ }会被maven处理,所以引用非默认配置文件时不能用来引用变量。
语法是:字段名称= @字段值@
示例:
在实际的项目开发中,为了在不同的环境下进行测试,我们会在src/main/resources目录下创建一个config文件夹,并在config中创建多个属性文件。
例如:
Local.properties,development.properties,production.properties .当我们引用src/main/resources/config/local . properties在src/main/resources/application . properties文件中的属性变量时,就要用到@ @方法。
#端口配置server.port=@server.port.web@?#logback日志配置logging.config=@logging.config@
配置文件中的ldquo;@rdquo;问题
springboot配置文件中的${hellip;}和@hellip;@
在springboot的配置文件中,即application.properties或application.yml
$ {}最适合用于获取springboot配置文件配置的值
@ @引用其他文件(除了springboot配置文件,如pom.xml)中定义的值,并使用@ @
起因
从git中取出代码,更改数据库配置并开始运行。
错误报告:
找到字符# 39;@#39;不能启动任何令牌。(不要使用@表示缩进)
in # 39;读者# 39;,34行,19列:
密码:@spring.redis.password@
不,正常情况下,这里应该没有错误。
原因
我的猜测是,有时候编的不全。当我看到编译后的文件中的内容不是从pom.xml文件中读取的数据时,很明显这一块没有编译。
解决
在侧边栏中打开maven,点击图中的两个按钮刷新下一项。再次开始完美的操作。如果还是不行,那就清空缓存刷新吧。
以上个人经验,希望能给你一个参考,也希望你能支持一下
精彩评论