KotlinのSpring関連記事が全然ない
最近流行りのKotlinでSpring Bootアプリケーションを実装しているのですが、ネット上にKotlinでSpring Bootを実装している記事や事例が少なくてちょっとしたことに結構時間を使ってしまいました。
なので、その中で自分がハマってしまった事を紹介していくので是非参考にしてください。
@RequestMapping
リクエストとControllerをマッピングするアノテーションで、Javaで書くと下記のようになります。
@RequestMapping(path = "/content", method = RequestMethod.GET)
Kotlinで書く場合はarrayOfを使用して配列として書かなければいけません。
@RequestMapping(path = "/content", method = arrayOf(RequestMethod.GET))
.class
Javaでは下記になります。
Integer.class String.class
kotlinでは下記です。Kotlinの場合は .プロパティ名と書くとJavaにコンパイルした時にgetterを使ってくれるから::になっているんだと思います。
Int::class String::class
アノテーションの中のアノテーションSqlResultSetMapping
Javaの場合下記のようにアノテーションの中でアノテーションが使えます。
@SqlResultSetMapping( name = "SampleMapping", classes = { @ConstructorResult( targetClass = Smaple.class, columns = { @ColumnResult(name="appId", type=Int.class), @ColumnResult(name="datetime", type=Timestamp.class) } ) } )
Kotlinの場合、アノテーションの中のアノテーションは省略して書きます。@SqlResultSetMappingは上記の書き方を全て使うのでKotlinでいきなりこれを使おうとするとハマってしまうのでぜひ参考にしてください。
@SqlResultSetMapping( name = "SampleMapping", classes = ( arrayOf( ConstructorResult( targetClass = Sample::class, columns = ( arrayOf( ColumnResult(name="appId", type=Int::class), ColumnResult(name="datetime", type=Timestamp::class) ) ) ) ) ) )
まとめ
覚えてしまえばすごくシンプルなのですが、KotlinでSpring Bootアプリケーションを実装している参考記事や事例が全然見つからなかったので自分は結構時間を使ってしまいました。今回は直近自分がハマった3点だけ紹介しましたが今後もハマりポイントを見つけたら追記していきます。
おすすめ書籍
JPAに関して体系的に学べる良い書籍だと思います。良くあるSpring系書籍ですとJPAは少ししか紹介がありませんが丸々一冊JPAに関してなので詳細な解説がされています。内容はJPAと他のORMとの比較から始まりセットアップ、実装の仕方まで幅広く網羅されています。これからJPAで開発を初めてみようかなと考えている方は一読することをオススメします!
Springの概要からインストール方法、各コア機能(Security, Sessionなど)の解説が体系的にまとめられています。2018年に出版されたばかりなので情報も新しいです。これからSpring Bootでアプリケーション開発をしたい方の最初に読む一冊としておすすめします。対象は初心者だけでなく上級者まで幅広く学べるので是非読んでみてください!
髙妻智一
最新記事 by 髙妻智一 (全て見る)
- Polkadot(Substrate)のアドレスとトランザクションについて - 2023-03-09
- 【無料公開】「Goで始めるBitcoin」3章 Bitcoinノードとの通信 技術書典8 - 2020-03-08
- エンジニアがゼロから技術ブログを書くための方法をまとめました - 2019-05-25
コメントを残す