Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What Spring Developers Should Know About Jakart...

What Spring Developers Should Know About Jakarta EE

Even if Java was originally meant for clients, it soon turned out that it was a great fit for the server side as well. J2EE came along and conquered this segment. Enterprise Java still powers the world with Spring as the dominant player.

So, what about Jakarta EE then? Most of the industry were affected in some way or the other by the namespace change from javax.* to jakarta.* in Jakarta EE 9, so there clearly are a lot of dependencies on the various Jakarta EE specifications.

Spring is no exception. The framework builds on a surprisingly large set of Jakarta EE APIs and implementations. This means that it is a great advantage for a Spring developer to be aware of what is going on with the development of Jakarta EE.

Come to this session to learn about the planned changes to the technologies that Spring depends on. There will be demos, and even some AI involved.

Avatar for ivargrimstad

ivargrimstad

May 22, 2025
Tweet

More Decks by ivargrimstad

Other Decks in Programming

Transcript

  1. Hello The following slide contains some disturbing content that may

    not be suitable for all audiences. Viewer discretion is advised.
  2. SessionBean Hello EnterpriseBean Serializable Remote EJBObject HelloRemote HelloObject EBJHome HelloHome

    EBJLocalHome HelloLocalHome EJBLocalObject HelloLocal HelloHomeObject HelloLocal Home Object HelloLocalObject
  3. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Speci fi cation Document API TCK Final Speci fi cation Compatible Implementation(s) Speci fi
  4. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta EE 11
  5. RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0

    Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Data 1.0 Authorization 3.0 Activation 2.1 Batch 2.1 Connectors 2.1 Mail 2.1 Messaging 3.1 Enterprise Beans 4.0 Jakarta EE 11 Platform Jakarta EE 11 Web Pro fi Updated Not Updated New
  6. Jakarta EE 11 Web Pro fi le RESTful Web Services

    4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.1 Pages 4.0 Expression Language 6.0 Debugging Support 2.0 Standard Tag Libraries 3.0 Faces 4.1 WebSocket 2.2 Enterprise Beans Lite 4.0 Persistence 3.2 Transactions 2.0 CDI 4.1 Authentication 3.1 Concurrency 3.1 Security 4.0 Validation 3.1 Data 1.0 Jakarta EE 11 Core Pro fi Updated Not Updated New
  7. Jakarta EE 11 Core Pro fi le Updated Not Updated

    New RESTful Web Services 4.0 JSON Processing 2.1 JSON Binding 3.0 Annotations 3.0 CDI Lite 4.1 Interceptors 2.2 Dependency Injection 2.0
  8. Jakarta EE 11 API source level: Java SE 17 API

    binary level: Java SE 17 TCK run with: Java SE 17+21 App Developers (YOU) can use Java SE 21 features if you like !!
  9. COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Release Cadence ~6-9 Months after the latest LTS of Java
  10. COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) May, 2024 Milestone 4 • Feature complete • All API jars released • For each API at least one compatible implementation (e.g. Hibernate, Mojarra) • Each compatible implementation passed standalone TCK <dependency> <groupId>jakarta.platform</groupId> <artifactId>jakarta.jakartaee-api</artifactId> <version>11.0.0-M4</version> <scope>provided</scope> </dependency>
  11. COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Q4, 2024 (Core Pro fi le) Q1, 2025 (Web Pro fi le) Q2, 2025 (Platform)
  12. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) How is this Relevant to ?
  13. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) builds on
  14. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) javax.* -> jakarta.*
  15. Authorization Activation Batch Connectors Mail Messaging Enterprise Beans RESTful Web

    Services JSON Processing JSON Binding Annotations CDI Lite Interceptors Dependency Injection Servlet Pages Expression Language Debugging Support Standard Tag Libraries Faces WebSocket Enterprise Beans Lite Persistence Transactions CDI Authentication Concurrency Security Validation Data Jakarta EE Authorization Activation Batch Connectors Mail Messaging Enterprise Beans RESTful Web Services JSON Processing JSON Binding Annotations CDI Lite Interceptors Dependency Injection Servlet Pages Expression Language Debugging Support Standard Tag Libraries Faces WebSocket Enterprise Beans Lite Persistence Transactions CDI Authentication Concurrency Security Validation Data Spring
  16. Authorization Activation Batch Connectors Mail Messaging Enterprise Beans RESTful Web

    Services JSON Processing JSON Binding Annotations CDI Lite Interceptors Dependency Injection Servlet Pages Expression Language Debugging Support Standard Tag Libraries Faces WebSocket Enterprise Beans Lite Persistence Transactions CDI Authentication Concurrency Security Validation Data Jakarta EE Spring Servlet
  17. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Demo
  18. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta Servlet https://jakarta.ee/speci fi cations/servlet
  19. Authorization Activation Batch Connectors Mail Messaging Enterprise Beans RESTful Web

    Services JSON Processing JSON Binding Annotations CDI Lite Interceptors Dependency Injection Pages Expression Language Debugging Support Standard Tag Libraries Faces WebSocket Enterprise Beans Lite Persistence Transactions CDI Authentication Concurrency Security Validation Data Jakarta EE Spring Validation Servlet
  20. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta Validation https://jakarta.ee/speci fi cations/bean-validation
  21. Authorization Activation Batch Connectors Mail Messaging Enterprise Beans RESTful Web

    Services JSON Processing JSON Binding Annotations CDI Lite Interceptors Dependency Injection Pages Expression Language Debugging Support Standard Tag Libraries Faces WebSocket Enterprise Beans Lite Persistence Transactions CDI Authentication Concurrency Security Data Jakarta EE Spring Persistence Servlet Validation
  22. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta Persistence https://jakarta.ee/speci fi cations/persistence
  23. UUID as Basic Java Type @Entity public class Item {

    @Id @GeneratedValue(strategy=GenerationType.UUID) private java.util.UUID id; private String description; … }
  24. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Java Records as Embeddable Classes
  25. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Deprecate Calendar, Date, Time, Timestamp, Temporal, MapKeyTemporal, TemporalType Replace with java.time API Java Con fi guration as alternative to persistence.xml via the PersistenceConfiguration Class Lots of New Convenience methods for Criteria Language
  26. Authorization Activation Batch Connectors Mail Messaging Enterprise Beans RESTful Web

    Services JSON Processing JSON Binding Annotations CDI Lite Interceptors Dependency Injection Pages Expression Language Debugging Support Standard Tag Libraries Faces WebSocket Enterprise Beans Lite Transactions CDI Authentication Concurrency Security Data Jakarta EE Spring Data Validation Persistence Servlet
  27. COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta Data 1.0 Standardizes the repository pattern for data access https://jakarta.ee/speci fi cations/data/1.0/ NEW in Jakarta EE 11
  28. @Repository public interface GreetingRepository extends CrudRepository<Greeting, Long> { Optional<Greeting> findByName(String

    name); } import jakarta.data.repository.CrudRepository; import jakarta.data.repository.Repository;
  29. COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta Data Query Language (JDQL) https://github.com/jakartaee/data/blob/main/spec/src/antlr/JDQL.g4
  30. COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Demo
  31. Authorization Activation Batch Connectors Mail Enterprise Beans JSON Processing CDI

    Lite Interceptors Pages Expression Language Debugging Support Standard Tag Libraries Faces Enterprise Beans Lite CDI Authentication Security Jakarta EE Spring Mail Messaging Messaging Concurrency Concurrency WebSocket WebSocket Transactions Transactions RESTful Web Services RESTful Web Services JSON Binding JSON Binding Annotations Annotations Dependency Injection Dependency Injection Persistence Validation Data Servlet Expression Language
  32. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) builds on
  33. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) What about and
  34. COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
  35. COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) What if I really like
  36. COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Demo
  37. COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Turn it around?
  38. COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Demo
  39. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Jakarta EE 12
  40. 2026 2024/5 2020 Java 21 Embrace Records Jakarta Data CDI

    Centric Removals and Deprecations Jakarta EE Core Pro fi le 2022 COPYRIGHT (C) 2025, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) 12 javax.* -> jakarta.*
  41. Authorization 5.0* Activation 2.1 Batch 2.2 Connectors 2.2 Mail 2.1

    Messaging 3.1 Enterprise Beans 4.1 RESTful Web Services 5.0 JSON Processing 2.2 JSON Binding 3.1 Annotations 3.1 CDI Lite 5.0 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.2 Pages 4.1 Expression Language 6.1 Debugging Support 2.0 Standard Tag Libraries 3.1 Faces 5.0 WebSocket 2.3 Enterprise Beans Lite 4.1 Persistence 4.0 Transactions 2.1 CDI 5.0 Authentication 5.0* Concurrency 3.2 Security 5.0 Validation 4.0 Jakarta EE 12 Platform Updated Not Updated New Data 1.1 Query 1.0 Subject to Change MVC NoSQL
  42. Jakarta EE 12 API source level: Java SE 21 API

    binary level: Java SE 21 TCK run with: Java SE 21+25 App Developers (YOU) can use Java SE 25 features if you like !!
  43. COPYRIGHT (C) 2022, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Summary
  44. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) How is Relevant to
  45. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) builds on
  46. Authorization Activation Batch Connectors Mail Messaging Enterprise Beans RESTful Web

    Services JSON Processing JSON Binding Annotations CDI Lite Interceptors Dependency Injection Servlet Pages Debugging Support Standard Tag Libraries Faces WebSocket Enterprise Beans Lite Persistence Transactions CDI Authentication Concurrency Security Validation Jakarta EE Spring Dependency Injection Data Expression Language
  47. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) javax.* -> jakarta.*
  48. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Brought Java to the Server and Inspired
  49. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Simpli fi ed and Inspired
  50. COPYRIGHT (C) 2024, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Develops a Foundation for and is Inspired by
  51. MVC 3.1 NoSQL 1.1 Authorization 5.0* Activation 2.1 Batch 2.2

    Connectors 2.2 Mail 2.1 Messaging 3.1 Enterprise Beans 4.1 RESTful Web Services 5.0 JSON Processing 2.2 JSON Binding 3.1 Annotations 3.1 CDI Lite 5.0 Interceptors 2.2 Dependency Injection 2.0 Servlet 6.2 Pages 4.1 Expression Language 6.1 Debugging Support 2.0 Standard Tag Libraries 3.1 Faces 5.0 WebSocket 2.3 Enterprise Beans Lite 4.1 Persistence 4.0 Transactions 2.1 CDI 5.0 Authentication 5.0* Concurrency 3.2 Security 5.0 Validation 4.0 Jakarta EE 12 Platform Updated Not Updated New Data 1.1 Query 1.0 Subject to Change
  52. Jakarta EE https://jakarta.ee Get Started
 https://start.jakarta.ee Ivar’s Hashtag Jakarta EE

    https://www.agilejava.eu/category/jakarta-ee/ Demo Code https://github.com/ivargrimstad/jakartaee-spring
 https://github.com/ivargrimstad/duke-ai
 https://github.com/ivargrimstad/duke-spring
 https://github.com/ivargrimstad/jakarta-gpt https://theguywiththeduketattoo.com SPRING