[devnexus 2022] what’s new in spring 2022

Speaker: Spencer Gibb

Twitter: @spencerbgibb

Link to table of contents

———————

History

  • Spring 1 came out in 2004. Spring 5 came out in 2017 – included Java 8/11/17
  • Spring Boot 1 released 2014 with Java 6 baseline. Spring Boot 2 released 2018 with Java 8 (baseline)/11/17. Now has 6 month release cycle to match Java
  • Spring Cloud – launched 2015. last release in 2020. Started with wors *Angle, Brixton, etc). Switched to # release versions (2020)
  • Josh Long’s favorite place on the internet is prod. Secon favorite is start.spring.io.

Spring 6

  • corresponding libraries have version as well. e: Spring security, data
  • Spring Boot 3 and Spring Cloud 2022.0. go with Spring 6
  • Go to Spring Initializr (start.spring.io) if not sure what goes together

Java 17

  • Baseline Java 17. Must hava Java17+ to run
  • Will have compatability wihth Java 18, 19, etc

Jakarta EE 9

  • Package renaming (javax -> jakarta)
  • Tomcat 10/Jetty 11/Undertow 2.2
  • JPA3 3 (Hibernate 6)

Native

  • GraalVM compiles to native
  • Faster startup, less memory usage
  • Spring Native was an exeperimental project. AOT metadata processing moves to Spring Framework. Built time pugins move to Spring Boot. Type and resoures hints move to relevant projects
  • Native pros – serverless, cost via lower resource consumption, CLI
  • Native cons – less mature, no JIT

Observablity

  • Introuced with Sleuth. 2021.0 will be last Sleuth release
  • Now Micrometer tracing
  • new Observation API
  • Instrumentation moving to relevant projects
  • Micrometer staying as Java 8 baseline

Declarative Clients

  • Feign was part of spring-cloud-netflix and open sourced Now spring-cloud-openfeign
  • Declarative blocking web service client
  • Now in Spring framework
  • Will add for GraphQL and RSocket (reactive sockets)

General

  • API testing tool: https://httpie.io
  • thenounproject.com – good collection of free stock art
  • Logger creates a lazy version so doesn’t interpolate strings unless needed. Also, a supplier verson
  • AutoConfiguration annotation to replace Configuration annotation
  • Problem details – standard json format for error messages. Content type application/problem+json
  • Removing a bunch of stuff. One is Freemarker JSP whch I didn’t know existed
  • OSS Spring 5 supported until 2024

My take

Excellent outline making the content easy to remember. Which is good because there was a lot of infomration! The live coding was good for seeing the code based changes and also breaking up the information. I liked seing the ”upgrade” with the jakarta package names and the micrometer example

Leave a Reply

Your email address will not be published. Required fields are marked *