static なフィールドに Autowired したい

  • 投稿日:
  • by
  • カテゴリ:

ぐぐればなんぼでも出るが基本的には未対応だが古の時代から皆何とかやっている。

http://etc9.hatenablog.com/entry/20090828/1251486871

https://stackoverflow.com/questions/7253694/spring-how-to-inject-a-value-to-static-field

@Componentアノテーションをつけることにより spring boot 起動時の DI コンテナ作成フローでロードされるクラスに追加し、@Autowiredアノテーションを付与したsetterメソッドでprivateフィールドに無理やり追加

https://teratail.com/questions/35274

https://stackoverflow.com/questions/17659875/autowired-and-static-method

@PostConstructを付与したメソッドはDIコンテナ初期化後に呼ばれるのでそこで作成済みのインスタンスをprivateフィールドに代入。ときにこれは例が悪くてここでいうstartメソッドは引数を受けるようにすればその上の@Autowiredは不要になる


ということを聞いてきました。