Java 如何使用UI从数据库表更新外部属性?

Java 如何使用UI从数据库表更新外部属性?,java,properties,Java,Properties,在我的Spring Boot应用程序中,我有一个文件values.properties,其中包含一些在我的应用程序中使用的值,例如: value.added.tax=16 non.taxed.minimum=1300 等等。然后我有一个类字段: private static final Integer VAT = readProp("value.added.tax"); private static final Integer NTM = readProp("non.taxed.minimum

在我的Spring Boot应用程序中,我有一个文件
values.properties
,其中包含一些在我的应用程序中使用的值,例如:

value.added.tax=16
non.taxed.minimum=1300
等等。然后我有一个类字段:

private static final Integer VAT = readProp("value.added.tax");
private static final Integer NTM = readProp("non.taxed.minimum");
readProp()
方法中,使用
InputStream
读取这些属性。最后,我有公共getter
getVat()
getNtm()
,我的所有rest代码都使用了它们

所有这些值都被视为常数,但有时它们可以更改(大约每年一次)。为此,我想添加具有相应值的数据库表和管理员的UI控制台,其中可以更新所有值。然后,我计划使用表中的值更新我的
values.properties
文件,该表具有类似的
writeProp()
方法和
OutputStream

我在代码中不直接从数据库表中读取值的原因是,它们在许多函数中使用得非常频繁,并且值很少更改(大约每年一次)

拥有这样的表并从中更新外部属性文件是一种好的做法吗

为了实现这一点,我必须将所有字段设置为非最终,并添加一个setter,以便能够更新它们,对吗


请帮帮我,非常感谢。

如果值可以改变,即使很少,那么它也不是常数。在属性文件和数据库中包含这些值似乎是多余的。为什么不从数据库中读取,但提供一种机制,在需要时再次触发从数据库中读取?(注意同步值。)我同意,如果它可能改变,它不应该是常数,即使很少。在这种情况下,从属性文件读取就像一个缓冲区(因为从db读取要昂贵得多)。当用户更新DB中的值时,我会更新事务中的属性文件,在这种情况下,值将始终是新的和同步的。那是我的主意。