基本上我想动态地读取不同用户的differnetkey值对(URL)。如果用户为1,则应显示特定的URL。让我们说前10个值。其他用户也是如此。这是我的config.prop我想动态设置值吗?
用户1(来自数据库)同样适用于用户2和用户3
KPI_TT_Executive = https://tntanalytics3.sl1430087.com
ONTIME_TT_Executive = https://tntanalytics3.sl1430087.com
ALERTING_TT_Executive = https://tntanalytics3.sl1430087.com
用户2
不同的集合或网址
...
用户3和用户4也是一样。
我该如何在config.prop文件中执行此操作。我知道如何读取值。只是我想从config.prop文件中动态调用值(或键值对)。如果用户是2则一件事,那么只有那些特定的值应该出现。
有人可以帮助我实现这一目标吗?在java中
最佳答案
在这样的属性文件中具有单独的用户特定配置将是非常不寻常的设计。
为用户提供一个新的数据库属性可能会更好,该属性指示应为他们提供的配置类型,例如config_type
。例如,假设此类型是具有以下组成值的枚举:REGULAR,ADVANCED,TYPE_A,TYPE_B
然后,您可以在获取属性时轻松为这些配置添加前缀,并在配置文件中使用不同的值:
REGULAR_KPI_TT_Executive = https://tntanalytics3.sl1430087.com
REGULAR_ONTIME_TT_Executive = https://tntanalytics3.sl1430087.com
REGULAR_ALERTING_TT_Executive = https://tntanalytics3.sl1430087.com
TYPE_A_KPI_TT_Executive = https://tntanalytics3.sl1430087.com
TYPE_A_ONTIME_TT_Executive = https://tntanalytics3.sl1430087.com
TYPE_A_ALERTING_TT_Executive = https://tntanalytics3.sl1430087.com
其他类型。
这比较整洁,也意味着将来有多个需要相同配置的用户时,您不必重复配置。
就个人而言,我可能会将特定于此的用户配置放入数据库中,但是如果您必须定期更改它,那么我可以同情配置文件。