在 Java、Spring 配置与系统属性文件中设置类属性

发布于 2024-12-10 09:04:35 字数 356 浏览 0 评论 0原文

我们可以使用 Spring 配置文件或 .properties 文件来存储和检索一些属性,例如数据库连接。 (db url、db 密码等)

我们还可以一起使用 Spring 配置文件和 .properties 文件,其中我们从 .property 文件引用属性(就像在 ant 中一样)

以下场景的优点或缺点是什么:

1 - 仅使用 .properties 文件。
2 - 仅使用 Spring 配置文件。
3 - 两者一起使用。

在维护方面,哪种情况会更好?

我需要在这三者之间做出选择,并且在选择任何一个选项之前我希望有更好的判断!

提前致谢!
- 伊瓦尔

We can use both Spring config file OR a .properties file to store and retrieve some properties, like for a database connection. (db url, db password and etc)

We can also use Spring config file and a .properties file together, where we reference the property from a .property file (like in ant)

What would be the advantages or disadvantages for the following scenarios:

1 - Using only .properties file.
2 - Using only Spring config file.
3 - Using both together.

Would any of the scenarios be better when it comes to maintenance?

I need to choose between the three, and I would like to have a better judgement before I go with any of the option!

Thanks in advance!
- Ivar

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

作业与我同在 2024-12-17 09:04:35

两者都在一起。使用可从项目中外部化的属性文件来配置 Spring。然后 Spring 会配置您的项目。大多数情况下,您不会编写代码来读取属性文件。让 Spring 管理它并为您的对象注入适当的值。然后,您就有了适当的依赖项注入,并且您构建的工件不是特定于环境的。

缺点:

  1. 您的代码如何知道从哪个文件加载属性?那不是财产吗?它还通过让代码去查找资源而不是被动地接受资源来违反依赖注入。
  2. 配置与您的工件紧密耦合,并且在不重建的情况下无法在环境之间进行更改(BAD)。
  3. 你似乎想到的方式,这结合了其他两者的缺点,但如果你按照我描述的方式去做,它消除了这些缺点,这是一个优点。

Both together. Use a properties file that's externalizable from your project to configure Spring. Spring then configures your project. Mostly, you don't write code to read from properties files. Let Spring manage that and inject your objects with the appropriate values. Then you have appropriate dependency injection and the artifact you build isn't environment-specific.

Disadvantages:

  1. How does your code know what file to load the properties from? Isn't that a property? It also violated dependency injection by having code go find a resource rather than passively accepting one.
  2. Configuration is tightly coupled to your artifact and can't change between environments without rebuilding (BAD).
  3. The way you seem to think of it, this combines the disadvantages of the other two, but if you do it the way I described, it eliminates those disadvantages, which is an advantage.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文