1

Spring に Struts2 と同様のプロパティ ファイル メカニズムがあるかどうか疑問に思っていました。最初にコントローラと同じパッケージ内でプロパティ ファイルを検索し、次にプロパティ ファイルまたはプロパティが見つかるまでパッケージ構造を上に移動します。

コントローラーごとにプロパティ ファイルを定義したいのですが、できればそれらを一緒に接続する必要はありません。プロパティファイルをコントローラーに関連付けるために従うことができる規則はありますか? ロケールを解決するときに、プロパティ ファイルの解決も正しく機能するはずです。

たとえば、複数の prop ファイルで「title」というプロパティを定義する場合、リクエストを処理したコントローラに基づいて、JSP で正しいプロパティを解決する必要があります。

ControllerA RETURNS ViewA USES PropA.title

ControllerB RETURNS ViewB USES PropB.title

プロパティ ファイルをコントローラーのモデル属性に自動接続し、JSP で値を表示することに成功しました。構成で ResourceBundleMessageSource を指定し、その値を JSP で表示することもできました。

4

1 に答える 1

0

箱から出して、私が知っていることではありません....しかし、それが本当に欲しいのであれば、簡単に書くことができます!

Spring には、BeanFactory/ApplicationContext でこのようなことを実行できる BeanFactoryPostProcessor のようなものがあります。私は BeanFactoryPostProcessor がここでの法案に適合すると考えています.クラスパスでプロパティファイルを探し、プロパティを取得してBeanに適用することで、Beanを「後処理」できます。

ただし、Spring は通常、かなり非侵襲的であることを意図しています。このようなものを設計の一部にしたい場合は、Spring を使用するのではなく、純粋な Java でこれを行う方法を考えた方がよいでしょう。たとえば、独自の Factory を作成し、それを個別に実装および単体テストします。アプリがこの Factory を使用してビジネス オブジェクトを取得することを要求します。

つまり、Spring で実行できる可能性がありますが、常に最適な方法であるとは限りません。あなたの場合、それが最も便利なように聞こえますが、何をどこに設定しているかの詳細はわかりません。考えるだけの食べ物..

于 2012-05-20T03:40:25.640 に答える