【Kotlin】Spring BootのDIの書き方まとめ

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する方法をまとめました。
ほかにもあれば追記していきます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です