![](/img/trans.png)
[英]what is the best way to store common strings (properties file / constants class) in Java Spring boot Project?
[英]What is the best way to store a common part of Strings in Java?
我有一些非常相似的字符串,如下所示:
String first = "differentConfig1,config1,config2,config3,config4,config5,config6,config7,config8,config9";
String second = "differentConfig2,config1,config2,config3,config4,config5,config6,config7,config8,config9";
String third = "differentConfig3,config1,config2,config3,config4,config5,config6,config7,config8,config9";
其中config1...config9在每個字符串中都是相同的,但是differentConfig1, differentConfig2 和 differentConfig3是不同的
避免在每個字符串中重復 config1-9 的最佳方法是什么?
(注意 config1-9 大約是 1 行長的值)
我現在擁有的是:
private String commonConfiguration() {
return "config1,config2,config3,config4,config5,config6,config7,config8,config9"
}
然后字符串是這樣構造的:
String first = "differentConfig1," + commonConfiguration();
我正在考慮使用變量而不是 function,但我擔心 function 開頭的一個很長的變量會使其可讀性降低。
存儲在文件中的配置字符串更好。 這也是大多數系統的工作方式。 例如:大多數系統,如 Kafka 或 Cassandra 在此類配置文件中都有日志配置、日志文件位置、地址等。
因此,使用這種方法,您可以根據需要根據不同的環境更改這些配置字符串,而不會影響代碼。
通過使用屬性文件,您的輸入將只是鍵值對的集合。
firstConfig="differentConfig1,config1,config2,config3,config4,config5,config6,config7,config8,config9" secondConfig="differentConfig2,config1,config2,config3,config4,config5,config6,config7,config8,config9" thirdConfig="differConfig3 ,config1,config2,config3,config4,config5,config6,config7,config8,config9"
我真的不建議進一步打破它,但是如果您確定它們將始終具有相同的 commonPrefix,則一種選擇是執行以下操作:
在您的屬性文件中, firstConfig="differentConfig1" secondConfig="differentConfig2"thirdConfig="differentConfig3" commonPrefix="config1,config2,config3....config9"
在您的代碼中,您閱讀了這些配置字符串和 append 它們。 像這樣的東西:
String c1 = Registry.getString("firstConfig")+Registry.getString("commonPrefix")
String c2 = Registry.getString("secondConfig")+Registry.getString("commonPrefix")
String c3 = Registry.getString("thirdConfig")+Registry.getString("commonPrefix")
注意:屬性文件只是 java 項目中的一個文件,它將配置信息作為鍵值對保存。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.