Edited at

多忙なエンジニアがざっくり知りたい最新技術

More than 1 year has passed since last update.


はじめに

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

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

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



技術ネタ


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