为什么我必须将这个 .properties 文件放在我的项目之外?
Why have I to put this .properties file outside my project?
我正在 Java 中开发命令行应用程序(因此它在 shell 中执行,而不是在 运行 中执行到应用程序服务器中)。
此应用程序对数据库执行一些查询。我的老板对我说,我必须将服务器信息(URL、用户名和密码)放入 .properties 文件中。好的,我认为直到现在这是一个非常标准的事情。
他对我说我不必将这个 .properties 文件放入我的项目中(例如放入 src 文件夹中)但是这个文件必须在项目外部并且形成我的应用程序我必须访问它。
我很难理解为什么。我能想到的唯一原因是,如果某些数据发生变化(例如 DB URL 或用户凭据),最终用户可以轻松更改它而无需访问最终的 .jar 文件。
根据您的看法,这是经典的最佳实践?还有其他原因吗?
Tnx
.properties文件主要用于存放应用程序的可配置参数,以保证可配置的变化参数不会与源代码耦合。这也确保您的应用程序的可配置参数保留在一个地方。
例如,如果您想更改服务器信息,您只需在 .properties 文件中进行更改,您的源代码将从 .properties 文件中读取它。
将源代码的变化部分与静态部分分开是一个很好的做法。
我正在 Java 中开发命令行应用程序(因此它在 shell 中执行,而不是在 运行 中执行到应用程序服务器中)。
此应用程序对数据库执行一些查询。我的老板对我说,我必须将服务器信息(URL、用户名和密码)放入 .properties 文件中。好的,我认为直到现在这是一个非常标准的事情。
他对我说我不必将这个 .properties 文件放入我的项目中(例如放入 src 文件夹中)但是这个文件必须在项目外部并且形成我的应用程序我必须访问它。
我很难理解为什么。我能想到的唯一原因是,如果某些数据发生变化(例如 DB URL 或用户凭据),最终用户可以轻松更改它而无需访问最终的 .jar 文件。
根据您的看法,这是经典的最佳实践?还有其他原因吗?
Tnx
.properties文件主要用于存放应用程序的可配置参数,以保证可配置的变化参数不会与源代码耦合。这也确保您的应用程序的可配置参数保留在一个地方。
例如,如果您想更改服务器信息,您只需在 .properties 文件中进行更改,您的源代码将从 .properties 文件中读取它。
将源代码的变化部分与静态部分分开是一个很好的做法。