Spring IO opened with an awesome keynote featuring various members of the Spring team.
They showcased new additions to the ecosystem like Spring AI and Spring Modulith and presented features that have been recently added to the Spring Framework.
My favorite quote from the keynote was: Make Monoliths Modern Again by Cora Iberkleid. We should definitely work hard to avoid building big balls of (distributed) mud 🙂
In This Ain’t Your Parents’ Java Venkat Subramiam discussed how Java is evolving continuously and coming up with neat language features allowing us and future generations of developer to write better and more maintainable code.
Favorite quotes:
They call this casting, I call it punishment
Don’t work for the compiler, let the compiler work for you
Daniel Garnier-Moiroux did a great job in explaining core concepts of Spring Security like filters and the Authentication
interface.
Key takeaways:
You can become a Spring Security ninja by enabling TRACE logging for
org.springframework.security
and digging through the logsWriting some extra code for proper emoji support is always worth it 🙂
After the lunch break Philip Riecks kicked of this Spring Boot testing workshop.
He gave an excellent overview about the out-of-the box features provided by the Spring Boot Starter Test and presented useful testing libraries like WireMock and Testcontainers.
Key takeaways:
Pay attention to the number of Spring contexts created during the execution of your test suite. Keep the number low to ensure fast feedback cycles.
With some creativity you can even use Java testing libraries for excelling at your favorite browser game 😉
Аlina Yurenko talked about the past, the present and the future of GraalVM in her session and demonstrated the power of going native with the help of benchmarking demos.
Key takeaway:
Always use GraalVM ! 😉 (Since it provides a high-performance JIT compiler as well)
Adopt a pet!
In the final session of the day, Joris Kuipers emphasized that production-grade applications require more than just architecture and business logic to succeed.
He provided useful and applicable tips for logging, caching and error handling.
Key takeaways:
Start building your own Autoconfigurations to share functionality between projects/modules
Save time and money by using proper caching
I thoroughly enjoyed today’s sessions, and I'm already looking forward to day 2 of Spring IO 2024.
A big shout-out to all the speakers and the exceptional organization team for making this conference both possible and fantastic.