List of videos

Spring Framework 6.2: Core Container Revisited by Juergen Hoeller @ Spring I/O 2024
Spring I/O 2024 - 30-31 May, Barcelona Slides: https://2024.springio.net/slides/spring-framework-62-core-container-revisited-springio24.pdf In the Spring team, we take the opportunity to wrap up long-standing core container concerns in Spring Framework 6.2: component model variations, autowiring performance, locking behavior, as well as our lifecycle management revision. In this session, we will discuss some of the strategic fine-tuning in the core container: the motivation, the tradeoffs, and the impact.
Watch
Lean Spring Boot Applications for The Cloud by Patrick Baumgartner @ Spring I/O 2024
Spring I/O 2024 - 30-31 May, Barcelona Slides & repo: https://github.com/patbaumgartner/talk-lean-spring-boot-applications-for-the-cloud With the starters, Spring-Boot offers a functionality that allows you to set up a new software project with little effort and start programming right away. You don’t have to worry about the dependencies, since the “right” ones are already preconfigured. But how can you, for example, optimize the start-up times and reduce the memory footprint and thus better prepare the application for the cloud? In this talk, we will go into Spring-Boot features like Spring AOT, classpath exclusions, lazy spring beans, actuator, and more. In addition, we’re also looking at switching to a different JVM and other tools. All state-of-the-art technology, of course. Let’s make Spring Boot great again!
Watch
Distributed Scheduling with Spring Boot: the challenges & pitfalls of implementing a background job
Spring I/O 2024 - 30-31 May, Barcelona Speaker: Rafael Ponte Slides: https://speakerdeck.com/rponte/distributed-scheduling-with-spring-boot-the-challenges-and-pitfalls-of-implementing-a-background-job Sooner or later a developer will implement his/her first background job using Java and Spring Boot, and what usually is a simple task for the majority of systems might become a nightmare in scenarios that need to deal with high performance, parallelism, distributed systems and a large volume of data. Scenarios like those hide several issues which many developers are not used to, such as large volumes of data, network failures, data inconsistency, out-of-memory errors and even taking the whole system down. Although it seems controversial, dealing with many of these problems does not require hype technologies or services, but solid distributed systems fundamentals. This talk will present how an experienced developer implements a background job with Java and Spring Boot taking into consideration the main challenges and pitfalls it brings along, and how he/she designs a solution for high-performance, resilience and horizontal scalability at the same time he/she takes advantage of many modules of Spring Boot, Hibernate and the relational database. If you still believe that a background job is a simple task, so this talk is for you!
Watch
Bootiful Spring Boot 3.x by Josh Long @ Spring I/O 2024
Spring I/O 2024 - 30-31 May, Barcelona Spring Boot 3.x and Java 21 are here, and there’s never been a better time to be a Java developer! In this talk we’ll look at the incredible opportunities that lay ahead for the Spring Boot developer, and especially those using Java 21 and later. Spring Boot continues to offer the most sophisticated and robust ecosystem of integrations - supporting AI, GraphQL, easy data access, security (hello, Spring Authorization Server!), and so much more. And, it offers cutting edge support for production-centric optimizations like Project Loom’s virtual threads, Project CRaC, and GraalVM. Join me Spring Developer Advocate Josh Long (@starbuxman) and we’ll explore next-gen Spring together.
Watch
Automated software refactoring with OpenRewrite and Generative AI by Tim te Beek @ Spring I/O 2024
Spring I/O 2024 - 30-31 May, Barcelona Slides: https://www.slideshare.net/slideshow/automated-software-refactoring-with-openrewrite-and-generative-ai-pptx-pdf/269542855 The software industrial revolution has arrived. Software is now 80% open source and third-party and 20% proprietary code that stitches it together into business-critical applications. In these large and diversely composed codebases, dependencies change frequently at their own pace and security vulnerabilities can be introduced at any time by anyone. Not updating software regularly leads to critical bugs, performance, and security issues (plus your code can just get harder to work with!). Mass code refactoring in these massive codebases is a multi-point operation that requires accuracy and consistency. It’s about affecting change across many individual cursor positions in thousands of repositories representing tens or hundreds of millions of lines of code. Whether you’re migrating frameworks or guarding against vulnerabilities, this requires coordination, tracking, and accuracy. This is not a problem AI can solve alone. AI, like many humans, is not good at math and programming. AI needs a computer just like a human does. In this talk, we’ll discuss automated code remediation with the deterministic OpenRewrite refactoring engine, a technology born at Netflix in 2016. It’s built on manipulating the Lossless Semantic Tree (LST) representation of code with recipes (programs) that result in 100% accurate style-preserving code transformations. It is a rule-based, authoritative system. Then we’ll show how to couple the precision of a rules-based system with the power of AI. We’ll demonstrate a generative AI procedure that samples source code to identify defects and uses OpenRewrite to fix them. This is a general purpose pattern you’re going to start seeing a lot of — “ChatGPT gets a computer” (with OpenRewrite as the computer in this case).
Watch
Build faster persistence layers with Spring Data JPA 3 by Thorben Janssen @ Spring I/O 2024
Spring I/O 2024 - 30-31 May, Barcelona Slides: https://2024.springio.net/slides/build-faster-persistence-layers-with-spring-data-jpa-3-springio24.pdf Over the years, Spring Data JPA has become the de facto standard for persisting data in a relational database. It provides excellent developer productivity and is so easy to use that you can learn it within a few hours. And Spring Data JPA 3 improves all of that even further. But handling vast amounts of data or guaranteeing very short response times still causes many problems. Features and concepts that work perfectly fine for smaller applications start to slow down your application. The good news is that you can easily avoid all of this. Spring Data JPA is a great fit for complex projects with high-performance requirements. You only need to know which features to use and which to avoid. During this talk, I’ll show you how to get the most out of your persistence layer and which new features in Spring Data JPA 3 help you improve your application’s performance even further.
Watch
Going AOT: Everything you need to know about GraalVM for Java applications by Alina Yurenko SpringIO
Spring I/O 2024 - 30-31 May, Barcelona Slides: https://www.slideshare.net/slideshow/going-aot-with-graalvm-for-spring-boot-spring-io/269499148 Repo: https://github.com/alina-yur In the past few years GraalVM got widely adopted by the Java ecosystem, and even more more since Native Image becoming officially supported since Spring Boot 3.0. Now it’s hard to imagine starting a new project, especially for the cloud, without at least considering going native. However, taking a new technology to production requires research and preparation. What is the best way to build and deploy such native executables? Once deployed, how can I monitor them? Can I test them as I do with regular Java applications? What if startup is less important, how do I optimize for peak performance and latency? How do I use 3rd-party libraries? In this session, we’ll go through all those aspects and illustrate them with demos.
Watch
Creating Future-Proof Spring Applications with Event Sourcing by Steve Pember @ Spring I/O 2024
Spring I/O 2024 - 30-31 May, Barcelona Slides: https://docs.google.com/presentation/d/1Suna1vSiQVhH4tc-wwoAKu2iX5OuXBqXc3ZMm0DGp78/edit?usp=sharing Repo: https://github.com/spember/spring-bikeshed Event Sourcing is a modern but non-trivial data model for building scalable and powerful systems. Instead of mapping a single Entity to a single row in a datastore, in an Event Sourced system we persist all changes for an Entity in an append-only journal. This design provides a wealth of benefits: a built-in Audit Trail, Time-Based reporting, powerful Error Recovery, and more. It creates flexible, scalable systems and can easily evolve to meet changing organizational demands. That is, once you have some experience with it. Event Sourcing is straightforward in concept, but it does bring additional complexity and a learning curve that can be intimidating. People coming from traditional ORM systems often wonder: how does one model relations between Entities? How is Optimistic Locking handled? What about datastore constraints? Based on over eight years of experience with building ES systems in Spring applications, we will demonstrate the basics of Event Sourcing and some of the common patterns. We will see how simple it can be to model events with available tools like Spring Data JPA, JOOQ, and the integration between Spring and Axon. We’ll walk through sample code in an application that demonstrates many of these techniques. However, it’s also not strictly about the code; we’ll see how a process called Event Modeling can be a powerful design tool to align Subject Matter Experts, Product, and Engineering. Attendees will leave with an understanding of the basic Event Sourcing patterns, and hopefully a desire to start creating their own Journals.
Watch
Migrating from (Spring Data) JPA to Spring Data JDBC by Jens Schauder @ Spring I/O 2024
Spring I/O 2024 - 30-31 May, Barcelona Slides: https://2024.springio.net/slides/migrating-from-spring-data-jpa-to-spring-data-jdbc-springio24.pdf A long long time ago in a city far away Jens Schauder started coding on a desktop calculator programmable in assembly. Over 30 years later, after almost 20 years as a consultant working mostly with huge enterprises, he joined the Spring Data Team. Here he works mainly on the “JPA” and “JDBC” modules and tells about it at conferences or helps other developers on StackOverflow. In his spare time he spends time running, bouldering, playing games, torturing himself with Freeletics. And eventually he will write a book about Spring Data JDBC.
Watch