Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重写Spring属性是否会更新引用它的属性?_Spring - Fatal编程技术网

重写Spring属性是否会更新引用它的属性?

重写Spring属性是否会更新引用它的属性?,spring,Spring,我的假设是否定的,但我想确认一下 假设我有as application.properties: redis.host = localhost redis.port = 6379 redis.address = ${redis.host}:${redis.port} redis.port = 7777 如果我的override.properties中有: redis.host = localhost redis.port = 6379 redis.address = ${redis.host}

我的假设是否定的,但我想确认一下

假设我有as application.properties:

redis.host = localhost
redis.port = 6379
redis.address = ${redis.host}:${redis.port}
redis.port = 7777
如果我的override.properties中有:

redis.host = localhost
redis.port = 6379
redis.address = ${redis.host}:${redis.port}
redis.port = 7777

我想这也不会自动更新redis.address吧?我的假设是不。。。但是如果能确定,那就太好了。

是的,你是对的,属性会因定义的属性而过载。地址和主机不会被覆盖

https://github.com/spring-projects/spring-framework/blob/master/spring-core/src/main/java/org/springframework/core/io/support/PropertiesLoaderSupport.java

我想是这样的。您对这种情况下的最佳实践有什么建议吗?没有单一的最佳实践。最好的一个是对您的用例有好处的。您可以通过提供PropertyPlaceHolderConfigure类型的bean来配置属性加载的CustomBehavior。您可以使用此选项控制配置文件的顺序和覆盖属性。这取决于加载方式。