首页 > 解决方案 > 有没有办法在代码中使用没有硬编码属性键的属性文件?

问题描述

我曾尝试使用属性文件,但在我的 java 文件中的键是硬编码的。

我曾尝试编写不同的属性类,但在 getter 方法中我需要使用属性键,并且键仍然是硬编码的。

标签: javaspringspring-bootmaven

解决方案


想一想:这里有两个方面。

一方面,您的代码应该“处理”某些元素。另一方面,您拥有包含“附加信息”的属性文件。

现在:需要有一种方法来“连接”这两个方面。你看,你的代码的重点是“我想做 X,为此我需要和 Y 一起工作”。从概念上讲,您的代码“知道”某些事情。

因此,您需要一种方法来在另一边表示这些东西。直接的方法是代码知道属性文件中使用的键。为了隔离这些知识,您可以遵循最佳实践,例如:使键成为代码中的常量,并确保它们仅在一个类中定义(理想情况下:使用)。

除此之外,您当然可以进行“元编程”。含义:您可以编写一个 GUI,并命名一个标签元素label-foo……然后添加一些查看属性文件的魔法,并查看该文件中的所有键。然后“自动”认为属性键label-foo-text应该用于 GUI 标签元素label-foo

所以,答案是:不是真的。当您的信息位于多个位置时,您需要某种机制将语义上属于的内容组合在一起。


推荐阅读