はじめに
「なんとなく使ったことあるけど、最新版ってなにが新しいの?」
「細かいことはいいから概要だけ教えて!」
そんな感じでこの記事を読んでちょっとだけ詳しくなって下さい。
技術ネタ
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
- IntelliJ IDEAを開発したJetBrains社が開発した言語
- JVM上で動作し、IntelliJ IDEAも当然対応済み
- IntelliJ IDEAベースのAndroid Studioも対応済み
- Eclipse ではプラグインで対応
- Javaで書けることはKotlinで書ける
- Javaよりシンプルに書ける
JUnit 5(Jupiter)
- Java 8 必須
- JUnit 4以下とのAPI互換性はないため、古いテストコードの実行にはJUnit Vintage を利用する
- アノテーションが変わった
Junit4以下 | JUnit5 |
---|---|
@Before/@After |
@BeforeEach/@AfterEach |
@BeforeClass/@AfterClass |
@BeforeAll/@AfterAll |
@Ignore |
@Disabled |