テストページ
これは画像を含むブロックです(Compose Multiplatformの基本チュートリアルから引用)。
KotlinでSpring Bootプロジェクトを作成する
Spring Bootプロジェクトにデータクラスを追加する
Spring Bootプロジェクトにデータベースサポートを追加する
データベースアクセスにSpring Data CrudRepositoryを使用する
同期タブ
plugins {
kotlin("kapt") version "1.9.23"
}plugins {
id "org.jetbrains.kotlin.kapt" version "1.9.23"
}plugins {
kotlin("plugin.noarg") version "1.9.23"
}plugins {
id "org.jetbrains.kotlin.plugin.noarg" version "1.9.23"
}セクション
折りたたみセクション
ここにテキストとコードブロックがあります:
plugins {
kotlin("plugin.noarg") version "1.9.23"
}コードブロック
単一のコードブロック:
import java.util.*
@Service
class MessageService(val db: MessageRepository) {
fun findMessages(): List<Message> = db.findAll().toList()
fun findMessageById(id: String): List<Message> = db.findById(id).toList()
fun save(message: Message) {
db.save(message)
}
fun <T : Any> Optional<out T>.toList(): List<T> =
if (isPresent) listOf(get()) else emptyList()
}展開可能なコードブロック
package com.example.demo
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestParam
import org.springframework.web.bind.annotation.RestController
@SpringBootApplication
class DemoApplication
fun main(args: Array<String>) {
runApplication<DemoApplication>(*args)
}
@RestController
class MessageController {
@GetMapping("/")
fun index(@RequestParam("name") name: String) = "Hello, $name!"
}実行可能なコードブロック
data class User(val name: String, val id: Int)
fun main() {
val user = User("Alex", 1)
// 出力が読みやすくなるように、toString()関数を自動的に使用します
println(user)
// User(name=Alex, id=1)
}テーブル
Markdownテーブル
| プリミティブ型の配列 | Javaでの対応 |
|---|---|
BooleanArray | boolean[] |
ByteArray | byte[] |
CharArray | char[] |
DoubleArray | double[] |
FloatArray | float[] |
IntArray | int[] |
LongArray | long[] |
ShortArray | short[] |
XMLテーブル
| 最終更新日 | 2023年12月 |
| 次回の更新 | 2024年6月 |
コードブロックを含むXMLテーブル
シンプルなテーブル:
| 以前 | 現在 |
kotlin | kotlin |
より複雑なテーブル:
| 以前 | 現在 | |
jvmMainコンパイルの依存関係 | kotlin | kotlin |
kotlin | kotlin | |
jvmMainソースセットの依存関係 | kotlin | |
jvmTestコンパイルの依存関係 | kotlin | kotlin |
jvmTestソースセットの依存関係 | kotlin | |
リスト
番号付きリスト
1つ目
2つ目
3つ目
- 3の1
- 3の2
- 3の3
- 3の1の1
内部にコードブロックがある場合:
kotlinjvmTest<Scope>
番号なしリスト
最初の項目
2番目の項目
3番目の項目
- もう一つ
- さらにもう一つ
- おっと、さらにもう一つ
内部にコードブロックがある場合:
kotlinjvmTest<Scope>
定義リスト
折りたたみアイテム #1
CrudRepositoryインターフェースのfindById()関数の戻り値の型は、Optionalクラスのインスタンスです。しかし、一貫性を保つために、単一のメッセージを含むListを返すのが便利です。そのためには、Optionalの値が存在する場合はその値をアンラップし、値を含むリストを返す必要があります。これは、Optional型に対する拡張関数(extension function)として実装できます。
コード内のOptional<out T>.toList()において、.toList()はOptionalの拡張関数です。拡張関数を使用すると、任意のクラスに新しい関数を追加できます。これは、ライブラリクラスの機能を拡張したい場合に特に便利です。
折りたたみアイテム #2
この関数は、新しいオブジェクトがデータベース内にIDを持っていないことを前提として動作します。したがって、挿入の際にはIDはnullである必要があります。
IDがnullでない場合、CrudRepositoryはそのオブジェクトがすでにデータベースに存在するとみなし、挿入(insert)操作ではなく更新(update)操作として扱います。挿入操作の後、idはデータストアによって生成され、Messageインスタンスに再度割り当てられます。そのため、idプロパティはvarキーワードを使用して宣言する必要があります。
テキスト要素
変数
- 変数の使用:最新のKotlinバージョンは 2.4.10 です
埋め込み要素
YouTubeの動画
画像
標準(Markdown):

標準(XML):

インライン:
![]()
ズーム可能:
ボタンスタイル:

ノート
警告:
kaptコンパイラプラグインにおけるK2のサポートは実験的(Experimental)です。 オプトインが必要です(詳細は以下を参照)。評価目的でのみ使用してください。
注記:
Kotlin/Nativeに同梱されているネイティブプラットフォームライブラリ(Foundation、UIKit、POSIXなど)については、一部のAPIのみ
@ExperimentalForeignApiでのオプトインが必要です。その場合、オプトインを要求する警告が表示されます。
ヒント:
Kotlin/Nativeに同梱されているネイティブプラットフォームライブラリ(Foundation、UIKit、POSIXなど)については、一部のAPIのみ
@ExperimentalForeignApiでのオプトインが必要です。その場合、オプトインを要求する警告が表示されます。
