はじめに

「なんとなく使ったことあるけど、最新版ってなにが新しいの?」

「細かいことはいいから概要だけ教えて!」

そんな感じでこの記事を読んでちょっとだけ詳しくなって下さい。


技術ネタ

Java 9

Spring Framework 5

Spring WebFlux

Spring Boot 2.0

Kotlin

JUnit 5


Java 9

  • 2017.9.22リリース
  • 日付・通貨のデフォルトフォーマットが変更された[JEP252]
  • @Deprecatedが拡張され情報量が増えた[JEP277]
  • リフレクションの一部が将来的に禁止されるため、代替としてVariable Handles[JEP193]が新登場
  • Project Jigsaw により、一部の著名なクラスがデフォルトクラスパスから除外された[JEP261] (javax.transaction, javax.rmi.CORBA, javax.annotation)

Spring Framework 5

  • Java 8 必須, Java 9 にも対応
  • Spring Framework 4 のDeprecatedクラスが削除された
  • Java EE 8の一部に対応 (Bean Validation 2.0, JSON Binding APIなど)
  • Reactive Programing Modelの一つである Spring WebFluxに対応
  • Spring TestContext FrameworkがJUnit 5に対応

Spring WebFlux

  • Spring MVCに代わるReactorベースのHTTP API
  • Servletを一切利用しない
  • 非同期実行
  • ノンブロッキング

Spring Boot 2.0

  • 2017/11/20リリース予定
  • Java 8 必須
  • Spring Framework 5 必須
  • spring-boot-starter-webflux が追加された
  • Actuator エンドポイントが/applicationに集約

Kotlin

  • InteliJ IDEAを開発したJetBrains社が開発した言語
  • JVM上で動作し、InteliJ IDEAも当然対応済み
  • InteliJ IDEAベースのAndroid Studioも対応済み
  • Eclipse ではプラグインで対応
  • Javaで書けることはKotlinで書ける
  • Javaよりシンプルに書ける

JUnit 5(Jupiter)

  • Java 8 必須
  • JUnit 4以下とのAPI互換性はないため、古いテストコードの実行にはJUnit Vintage を利用する
  • アノテーションが変わった

@Before/@After→@BeforeEach/@AfterEach
@BeforeClass/@AfterClass→@BeforeAll/@AfterAll
@Ignore→@Disabled