Java 如何在spring中手动重新加载属性占位符而不刷新整个应用程序上下文
我正在将属性占位符配置与数据库配置一起使用。我想单独重新加载属性占位符bean,而不刷新整个应用程序上下文。我将调用RESTURL手动重新加载占位符,而不是自动重新加载占位符。任何帮助都将不胜感激。我认为您不了解属性占位符的作用。如果单例在启动时读取值,刷新它对您没有帮助。嗨,Abhijit,我知道property placeholder的作用,单例将在启动事件时加载,但是有一些方法可以基于事件动态重新加载spring Bean,例如:我们可以基于文件修改日期重新加载property placeholder,但上面的解决方案不起作用,因为我使用的是数据库配置,需要手动加载。您已经重新加载了属性,如何刷新使用这些属性的bean?唯一的方法是重建整个(或大部分)上下文。您可能想看看为Spring Cloud Config项目构建的Java 如何在spring中手动重新加载属性占位符而不刷新整个应用程序上下文,java,spring,Java,Spring,我正在将属性占位符配置与数据库配置一起使用。我想单独重新加载属性占位符bean,而不刷新整个应用程序上下文。我将调用RESTURL手动重新加载占位符,而不是自动重新加载占位符。任何帮助都将不胜感激。我认为您不了解属性占位符的作用。如果单例在启动时读取值,刷新它对您没有帮助。嗨,Abhijit,我知道property placeholder的作用,单例将在启动事件时加载,但是有一些方法可以基于事件动态重新加载spring Bean,例如:我们可以基于文件修改日期重新加载property place
@RefreshScope
,特别是针对这个项目。@M.Deinum“您已经重新加载了属性,使用这些属性的bean将如何刷新?”这正是我之前问的问题(“如果在启动时由单例读取值,则刷新它对您没有帮助。”),他给了我一个毫无意义的答案。@M.Deinum谢谢你的建议,但问题是我没有使用spring boot应用程序,还有其他方法可以重新加载spring bean..请参阅此链接。他给出了文件重新加载的解决方案,我正在搜索相同的数据库配置。我想你不明白属性占位符可以。如果单例在启动时读取值,刷新它对您没有帮助。嗨,Abhijit,我知道属性占位符的作用,单例将在启动事件时加载,但是有一些方法可以基于事件动态地重新加载SpringBean,例如:我们可以基于文件修改的dat重新加载属性占位符e、 但是上面的解决方案不起作用,因为我正在使用数据库配置,需要手动加载。然后,您重新加载了属性,使用这些属性的bean将如何刷新?唯一的方法是重新构建整个(或大部分)您可能想看看为Spring Cloud Config项目构建的@RefreshScope
,特别是为此而构建的。@M.Deinum“您已经重新加载了属性,使用这些属性的bean将如何刷新?”这正是我之前问的(“如果这些值在启动时由单例读取,则刷新它对您没有帮助。“),他给了我一个毫无意义的答案。@M.Deinum谢谢你的建议,但问题是我没有使用spring boot应用程序,还有其他方法可以重新加载spring bean..请参阅此链接。他给出了文件重新加载的解决方案,我正在搜索相同的数据库配置。