我想在Spring应用程序中维护一个应用程序属性列表,如服务端点,应用程序变量等。这些属性应该能够动态更新(可能由系统管理员通过网页)。
Spring是否有内置功能来完成此要求?
答案 0 :(得分:0)
我不确定,但请检查一下你是否可以使用Spring引导框架的@ConfigurationProperties。
@ConfigurationProperties(locations = "classpath:application.properties", ignoreUnknownFields = false, prefix = "spring.datasource")
Java专家 - 我只是想探索我的观点。我们随时欢迎更正。
编辑 - 我在@PropertySource here
上阅读了一个很好的例子答案 1 :(得分:0)
我不确定spring是否有动态更新属性文件的实现。
您可以使用private void Form1_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.F1:
F1Pressed = true;
break;
case Keys.Left:
if (F1Pressed)
{
// draw dot with border
}
else
{
// draw dot without border
}
break;
case Keys.Right:
if (F1Pressed)
// and so on
}
}
将属性文件读取到FileInputStream
对象中。然后,您将能够更新属性。稍后您可以使用Properties
将属性写回同一文件。
FileOutputStream
答案 2 :(得分:0)
将您自己的PropertySource
实施添加到Environment
。
警告: @ConfigurationProperties
和@Value
注释使用的属性仅在应用程序启动时读取一次,因此在运行时更改实际属性值将无效(直到重新启动)。
答案 3 :(得分:-1)
外化属性,看看here
Spring加载这些属性,这些属性可以在运行时配置,并以不同的方式在应用程序中访问。