KotlinでDIするときの書き方をまとめていきます。
プロジェクトの準備
下記ページでプロジェクトを作成してください。
コンストラクタを使った方法
以前のページで書いた内容です。
@RestController
class DemoController
@Autowired
constructor(private val service: DemoService) {
@RequestMapping(path = ["/"], method = [RequestMethod.GET])
fun search(): List<DemoTbl> {
return service.demoTblSearch()
}
}
コンストラクタを使った方法 (アノテーション省略)
もしかしてアノテーション要らないかも。試してみたら動作しました。
@RestController
class DemoController
(private val service: DemoService) {
@RequestMapping(path = ["/"], method = [RequestMethod.GET])
fun search(): List<DemoTbl> {
return service.demoTblSearch()
}
}
lateinitを使った方法
コンストラクタインジェクションを使わない場合はこちら。
↑ ↑ ↑ で記載した省略のほうがタイプ数も少ないし、もうこの書き方で書くことはないと思う。
@RestController
class DemoController {
@Autowired
lateinit var service: DemoService
@RequestMapping(path = ["/"], method = [RequestMethod.GET])
fun search(): List<DemoTbl> {
return service.demoTblSearch()
}
}
あとがき
KotlinでDIする方法をまとめました。
ほかにもあれば追記していきます。
コメントを残す