コンテナに存在するかわからないBeanをAutowiredする
Constructor Injection
class Foo( private val bar: Bar? ) { }
Field Injection
class Foo { @Autowired(required = false) lateinit var bar: Optional<Bar> }
前回の記事に関連して小ネタ。@Autowired(required = false)
を知らなかったのでメモ。
Constructor Injectionを使わない場合、@Autowired(required = false)
として、Optionalで定義することができる。
KotlinでOptionalを使うのはもったいないので、できるだけConstructor Injectionを使う方が良さそうです。