Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

December 2025 - Garden State JUG - Quarkus for ...

December 2025 - Garden State JUG - Quarkus for Spring Developers

https://gsjug.org/meetings/2025/dec2025a.html

In this session, Eric will show concepts and conventions familiar to Spring developers and how those same concepts and conventions can be implemented in Quarkus, all while highlighting similarities and differences between them. Additionally, he will show similarities and differences in how testing is done, highlighting Quarkus Dev Services.

This session will be mostly live coding while minimizing the amount of slides. Eric will introduce an existing Spring application with a full test suite and build a Quarkus equivalent version of it, live.

Avatar for Eric Deandrea

Eric Deandrea PRO

December 03, 2025
Tweet

More Decks by Eric Deandrea

Other Decks in Technology

Transcript

  1. @edeandrea Who’s on Stage Today? Eric Deandrea 🤘 26+ years

    software development experience Java Champion 🤘 Contributor to Open Source projects Quarkus LangChain4j (& Quarkus LangChain4j) Docling Java Spring Boot, Spring Framework, Spring Security Wiremock Microcks 🤘 Boston Java Users ACM Chapter Vice Chair 🤘 Published author
  2. @edeandrea • How Quarkus enables modern Java development & the

    Kubernetes-native experience • Introduce familiar Spring concepts, constructs, & conventions and how they map to Quarkus • Emphasis on testing patterns & practices https://red.ht/quarkus-spring-devs
  3. @edeandrea Java,The Enterprise Workhorse J2SE / J2EE Java / Jakarta

    EE Spring Boot MicroProfile Monolith Cloud-Native Microservices
  4. @edeandrea Build Time Runtime Packaging (maven, etc) gradle…) Load config

    file from file system Parse it Classpath scanning to find annotated classes Attempt to load class to enable/disable features Build its model of the world. Start the management (thread, pool…) @ @ </> How Does a Framework Start?
  5. @edeandrea JVM Build Time @ @ </> Package model Native

    The Quarkus Way enables Native Compilation
  6. @edeandrea What’s the Secret Sauce? 🤘Don’t be dynamic 🤘Dead code

    elimination / inlining Holly Cummins - https://youtu.be/vnrXXvnqriA
  7. @edeandrea What’s the Secret Sauce? 🤘Don’t be dynamic 🤘Dead code

    elimination / inlining 🤘Extensible build process so libraries can participate 🤘Jandex Indexing (offline reflection) Holly Cummins - https://youtu.be/vnrXXvnqriA
  8. @edeandrea What’s the Secret Sauce? 🤘Don’t be dynamic 🤘Dead code

    elimination / inlining 🤘Extensible build process so libraries can participate 🤘Jandex Indexing (offline reflection) 🤘Don’t make humans tell the computer what it knows Holly Cummins - https://youtu.be/vnrXXvnqriA
  9. @edeandrea What’s the Secret Sauce? 🤘Don’t be dynamic 🤘Dead code

    elimination / inlining 🤘Extensible build process so libraries can participate 🤘Jandex Indexing (offline reflection) 🤘Don’t make humans tell the computer what it knows 🤘Continuous profiling & shaving 🤘Be reactive without forcing humans to do reactive Holly Cummins - https://youtu.be/vnrXXvnqriA
  10. @edeandrea 🤘 Spring Boot 3 application contents: ◦ 35,843 classes

    ◦ 50,908 fields ◦ 170,828 methods ◦ Reflection: ◦ 11,887 classes ◦ 1,895 fields ◦ 13,164 methods 🤘 Quarkus 3 application contents: ◦ 22,158 classes ◦ 28,962 fields ◦ 104,915 methods ◦ Reflection: ◦ 7,304 classes ◦ 234 fields ◦ 6,519 methods 🤘 The Quarkus application has: ◦ 13,685 (38%) less classes ◦ 21,946 (43%) less fields ◦ 65,913 (39%) less methods ◦ 4,583 (39%) less classes using reflection ◦ 1,661 (88%) less fields using reflection ◦ 6,645 (50%) less methods using reflection A Real Example https://github.com/quarkusio/benchmarks
  11. @edeandrea 🤘 Spring Boot 4 application contents: ◦ 37,635 classes

    ◦ 52,792 fields ◦ 178,894 methods ◦ Reflection: ◦ 12,929 classes ◦ 4,465 fields ◦ 19,529 methods 🤘 Quarkus 3 application contents: ◦ 22,158 classes ◦ 28,962 fields ◦ 104,915 methods ◦ Reflection: ◦ 7,304 classes ◦ 234 fields ◦ 6,519 methods 🤘 The Quarkus application has: ◦ 15,477 (41%) less classes ◦ 23,830 (45%) less fields ◦ 73,979 (41%) less methods ◦ 5,625 (44%) less classes using reflection ◦ 4,231 (95%) less fields using reflection ◦ 13,010 (67%) less methods using reflection A Real Example https://github.com/quarkusio/benchmarks