我的项目中要求在.properties文件(server_config.properties)中保留一些配置属性,以便可以在不对硬键码对进行硬编码的情况下对其进行更改,例如server_url = http://www.mydomain.com server_port:5000 ....等,这个文件中可以有100个属性。
我在想为什么不在数据库表中保留键值对配置并从那里读取它。
请大家分享一下使用这两种方法的经验,并提一下两者的优点和缺点是什么?
在我看来,我认为保留在数据库表中应该是更好的方法,这样我就可以更改数据库中的值,并且可以通过JMX调用将它们动态加载到服务器中,并且可以由我的多个实例共享应用
请分享。
答案 0 :(得分:1)
我认为这取决于:您可能希望系统用户能够更改这些配置值吗?
然后,YES,数据库(您可以添加一个网页以便稍后创建/检索/更新/删除)。
但是,如果这些是系统管理员(你)更“隐藏”的配置值,那么我就没有理由将它们放在数据库中。
例如,你不能指定与数据库相关的参数,存储在数据库中
当然,配置文件可能会变大,但是100的行并不是那么大,如果你愿意(server_config.properties,database_config.properties,user_config.properties等),你可以将它分成多个配置文件添加评论
但是,在数据库“pro's”上,我想补充一点,您可以跟踪谁修改了参数(如果您的网页有用户登录信息)。
当您编写“server_config.properties”时,这听起来像Java和new Properties()
。