我有一個任務來替換當前依賴於mysql的字符串查找系統。一個屏幕會將一個ID和一個語言元素列表傳遞給一個類,然後從mysql中的表中選擇所請求的字符串。根據需要從文件加載屬性
我期待用屬性文件替換mysql表,但我不想一次性將所有屬性加載到對象中。
由於字符串用於舊的遺留系統來渲染屏幕和PDF報告的一部分,我希望在它們被請求時將它們加載到屬性對象中,因此首先檢查屬性對象,如果它不是包含我的鍵「1234Eng」,然後我將它加載到屬性對象中,以便將來可用。
這個想法是因爲有這麼多的消息,我寧願只加載人們訪問過的頁面上使用的那些消息。
任何意見\幫助表示讚賞。
您只需擴展['ResourceBundle'](http://docs.oracle.com/javase/7/docs/api/java/util/ResourceBundle.html)以實現您的定製邏輯 - 當您調用'靜態ResourceBundle.getBundle(String bundleName)'它也會在classpath中尋找'{bundleName} .class'。查看[JavaDoc](http://docs.oracle.com/javase/7/docs/api/java/util/ResourceBundle.html#getBundle(java.lang.String,%20java.util.Locale, %20java.lang.ClassLoader))獲取更多細節。 –
如果可能,請使用多個消息屬性文件。 – pmverma
看看[這個項目](https://github.com/fge/msg-simple):它可以讓你做到你想要的。 – fge