Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.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引导编辑应用程序.properties_Properties_Spring Boot_Persistence - Fatal编程技术网

Spring引导编辑应用程序.properties

Spring引导编辑应用程序.properties,properties,spring-boot,persistence,Properties,Spring Boot,Persistence,是否可以将新的属性添加到应用程序。属性或覆盖现有值 resource = new ClassPathResource("/application.properties"); Properties props = PropertiesLoaderUtils.loadProperties(resource); 我已经尝试过的事情: 使用存储: 然后,当我使用props.get(key)时,它会打印正确的值,但下次我使用 Properties props = PropertiesLoaderUtil

是否可以将新的
属性
添加到
应用程序。属性
或覆盖现有值

resource = new ClassPathResource("/application.properties");
Properties props = PropertiesLoaderUtils.loadProperties(resource);
我已经尝试过的事情:

使用
存储

然后,当我使用
props.get(key)
时,它会打印正确的值,但下次我使用

Properties props = PropertiesLoaderUtils.loadProperties(resource);
它不在那里


那么我做错什么了吗?或者有其他方法可以做到这一点吗?

不,你不能。为什么,
application.properties
可能是jar的一部分,您不能在运行应用程序时更改它的内容。但是,首先为什么要这样做呢?在我的
属性中,我有一个示例:
cron.expression=0 0/7***
,它定义了执行
计划任务的时间。但是我需要改变执行时间的可能性(例如,per
restapi
),仅仅改变属性就不存在了。您需要重新启动应用程序才能实现这一点。好的,谢谢。然后我将尝试找到另一个解决方案Spring Cloud配置已经支持这一点…不,你不能。为什么,
application.properties
可能是jar的一部分,您不能在运行应用程序时更改它的内容。但是,首先为什么要这样做呢?在我的
属性中,我有一个示例:
cron.expression=0 0/7***
,它定义了执行
计划任务的时间。但是我需要改变执行时间的可能性(例如,per
restapi
),仅仅改变属性就不存在了。您需要重新启动应用程序才能实现这一点。好的,谢谢。然后我将尝试找到另一个解决方案Spring Cloud配置已经支持该解决方案。。。
   @Autowired
   ConfigurableEnvironment env;

   ...

   props.put("spring.datasource.url", "<my value>");
   environment.getPropertySources().addFirst(new PropertiesPropertySource("myProps", props));
Properties props = PropertiesLoaderUtils.loadProperties(resource);