无效怎么办?
答:使用maven工具,重新编译一下,就是idea中maven中的刷新按钮点一下。如果还不行,建议清除一下缓存再试。是否完成可以参考编译后的文件是否已经完成修改。例如:
project.name在pom文件中指定的,代码如下:
<properties>
<project.name>study</project.name>
</properties>
在application.properties中引用的表达式如下:
project.name=@project.name@
编译后的文件中,也就是我的项目中是target/classes/目录下的application.properties中是如下所示。
project.name=study
为什么要用@@表达式?
答:为了获取maven pom.xml文件中定义的属性值。不能像pom文件中一样使用表达式${},会造成歧义,毕竟${}在properties文件中有自己的定义。
备注:这里单独提一下properties文件中的${}表达式,是在@Value属性引入的时候才解析的,在environment对象中仍然储存的是表达式信息。
@@表达式变量在哪里定义?
答:pom.xml文件中的<properties>标签中。例如:
<properties>
<project.package.name>study</project.package.name>
</properties>
@@表达式如何使用?
答:在spring中的properties配置文件中(没有试过yml文件,猜测也是可以的)。例如:
project.name=@project.package.name@