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
- JPA
3
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