DB内のメッセージを検索するメッセージソース実装を構築しました。あなたがしなければならないことは、SpringのAbstractMessageSourceから継承するMessageSource実装を作成することです(すべての機能を取得するには、javadocを参照してください)。
最小限の抽象メソッド'resolveCode(String、Locale)'を実装する必要があります(ただし、'resolveCodeWithoutArguments(String、Locale)'を実装すると、パフォーマンスが向上します)。このメソッドは、次のような定義を使用して、その単純なテーブルを指すDAOに委任します。これ:
table translation (
translation_id number pk
code varchar(20)
locale varchar(5)
translation varchar(100)
)
コードとロケールは一意のインデックスを形成します。
これで完了です。もちろん、いくつかのキャッシュ機能を追加し、daoレベルまたはMessageSourceレベルのいずれかで「ロケールの低下」動作を提供します(つまり、「en_US」が見つからない場合は「en」を試してください)。
これは完全に機能します。