Java 保留配置属性的首选方法是什么。属性文件或在数据库表中存储配置?

Java 保留配置属性的首选方法是什么。属性文件或在数据库表中存储配置?,java,.net,jakarta-ee,web,configuration,Java,.net,Jakarta Ee,Web,Configuration,我在项目中要求在.properties文件(server\u config.properties)中保留一些配置属性,以便在不硬编码键值对的情况下对其进行更改,例如server\u url= 服务器端口:5000…等,此文件中可以有100个属性 我在想,为什么不在数据库表中保留键值对配置,并从中读取它 你们能分享一下你们使用这两种方法的经验吗?并说说这两种方法的优缺点是什么 在我看来,我认为保存在数据库表中应该是更好的方法,这样我可以更改数据库中的值,并且可以通过JMX调用将它们动态加载到服务器

我在项目中要求在.properties文件(server\u config.properties)中保留一些配置属性,以便在不硬编码键值对的情况下对其进行更改,例如server\u url= 服务器端口:5000…等,此文件中可以有100个属性

我在想,为什么不在数据库表中保留键值对配置,并从中读取它

你们能分享一下你们使用这两种方法的经验吗?并说说这两种方法的优缺点是什么

在我看来,我认为保存在数据库表中应该是更好的方法,这样我可以更改数据库中的值,并且可以通过JMX调用将它们动态加载到服务器中,并且可以由我的应用程序的多个实例共享


请分享。

我认为这取决于:您是否希望系统用户能够更改这些配置值
然后是数据库(您可以添加一个网页,以便稍后创建/检索/更新/删除)
但是,如果这些是系统管理器(您)的更多“隐藏”配置值,那么我看不出有任何理由将它们放在数据库中。
例如,您不能指定存储在数据库中的与数据库相关的参数。
当然,配置文件可能会变大,但100行实际上并没有那么大,如果您愿意,可以将其拆分为多个配置文件(服务器配置文件属性、数据库配置文件属性、用户配置文件属性等),并轻松添加注释。
但是,在数据库“pro”中,我想补充一点,您可以跟踪谁修改了参数(如果您的网页有用户登录信息)。


当你写“server_config.properties”时,听起来像是Java和一个
新属性()

振作起来,关于.Net的评论是最好的,Java很烂…@LuiggiMendoza你把我的昵称弄错了,不,我从来没有说过.Net是最好的”…我的项目是用Java编写的,但我认为这个问题与平台无关,我的回答很好,因为所有项目都可能需要配置管理。@supernova不是真的,.Net有自己的内置机制来处理这个问题,而不是强迫你一直重新发明轮子。在ASP.Net Web应用程序中,您有一个
Web.config
文件,该文件允许您为应用程序定义各种配置,并强制应用程序在每次修改时重新加载。@HighCore是什么让您认为Java没有这些机制?