タグ

ブックマーク / d.hatena.ne.jp/futokiyo (1)

  • staticなオブジェクトにもインジェクションできれば良いのに - GeGeGe-no-Elohim.Essaim. -Frugativi et appelavi! Enterprise Web Mephistopheles!-

    Spring Frameworkは、DIコンテナにJavaのインスタンスをコンポーネントとして登録するので、staticな変数に対して、プロパティファイルの値をインジェクションするということはできません。 できませんとは書いたばかりですが、裏技を使えば出来ることに気づきました。Apressの『Pro Spring』を読むと、P96-P102あたりにちゃんと書いているのですが、つい最近気づきました。 まずは、どんな要件か説明します。次のものをstaticメソッドで扱うようにしたかったのです。・Springのメッセージソースで作った文言メッセージ取得メソッド・ファイルエンコードに使う文字コードなどのシステムプロパティだって、いちいち実装クラスにsetMessageSource()メソッドとかsetSystemPropertiesObject()メソッドとか作ってインジェクションしないといけない

  • 1