List of videos

Unit Test Your Spring Architecture With ArchUnit by Roland Weisleder @ Spring I/O 2024

Spring I/O 2024 - 30-31 May, Barcelona Slides: https://speakerdeck.com/rweisleder/unit-test-your-java-architecture-with-archunit Repo: https://github.com/rweisleder/archunit-talk-examples Architecture and code are drifting more and more apart? The implementation of non-functional requirements and cross-cutting concerns is often forgotten? Too much spaghetti code due to circular dependencies? Sadly, such things happen far too often and will quickly lead to an unmaintainable code base. In the Java ecosystem, the library ArchUnit is a possible solution for this situation. We will look at how we can use ArchUnit to test our architecture within unit tests and finally get structure back into the system. We will also look at archunit-spring, which simplifies writing ArchUnit tests for Spring applications.

Watch
Introducing Spring AI by Christian Tzolov / Mark Pollack @ Spring I/O 2024

Spring I/O 2024 - 30-31 May, Barcelona Slides: https://2024.springio.net/slides/introducing-spring-ai-springio24.pdf This session explores Spring AI, a new framework enabling Java developers to integrate AI seamlessly into enterprise applications. Spring AI was born from the realization that the AI/ML stack was becoming accessible to Java developers at large and no longer constrained to the traditional AI/ML community rooted mainly in the Python ecosystem. In this talk, the Spring AI project leads will introduce you to the main AI concepts you need to know and how to start writing AI applications quickly. Spring AI provides many components required in creating an AI software stack and brings Spring’s traditional design principles, such as portability and modular design, to promote POJOs as the building blocks of an AI application. This session will introduce many Spring AI features, starting with a portable client API to interact with AI models. You will learn how to create effective AI prompts, including using user-defined functions, and converting AI responses into POJOs. Use cases like “query over your docs” are demonstrated by showcasing Spring AI features such as creating Embeddings and storing them in a Vector Database. Also, Spring AI provides a lightweight ETL framework that takes your documents and stores them in the Vector Database. The popular RAG pattern and ways you can effectively evaluate how your AI application is performing are discussed.

Watch
Continuations: The magic behind virtual threads in Java by Balkrishna Rawool @ Spring I/O 2024

Spring I/O 2024 - 30-31 May, Barcelona Slides: https://speakerdeck.com/balkrishnarawool/continuations-the-magic-behind-virtual-threads-spring-io Repo: https://github.com/balkrishnarawool/continuations Have you wondered how virtual threads in Java are able to provide such high scalability? How is JVM able to switch between so many virtual threads while executing a single platform thread? If you did then this talk is for you. A Continuation is the magic that powers Virtual Threads. It can be viewed as a representation of the current state of the program or it can be viewed as a reference to the rest of the program. It helps us to pause execution of a program (or part thereof) and then resume it later. This ability to pause/resume is a powerful mechanism and is the basis for providing virtual threads. In this talk, we will start with explaining what continuations are and how does Continuation API in Java work. We will also explore the uses of continuations. And more importantly, we will write our own simple VirtualThread class using the Continuation API provided by JDK. This gives clear idea about the role of continuations in the nature of virtual threads.

Watch
Serverless Java with Spring by Maximilian Schellhorn & Dennis Kieselhorst @ Spring I/O 2024

Spring I/O 2024 - 30-31 May, Barcelona Slides: https://speakerdeck.com/deki/serverless-java-with-spring Serverless computing revolutionizes how we build and run applications by abstracting server management, delivering fine granular auto-scaling, and billing only for execution time. This enables developers to focus on code, not infrastructure. Join this talk to understand how you can build and deploy cloud-native and Serverless Spring applications. You will learn how to run already existing Spring Boot applications in a Serverless environment with the AWS Serverless Java container and its integration with the Spring ecosystem. You will also learn how-to develop new event-driven applications with Spring Cloud Function. We will also cover support for GraalVM native images, developer tooling and additional performance optimizations.

Watch
Text-to-SQL: chat with a DB exploiting the Generative AI by Victor Martin / Corrado De Bari

Spring I/O 2024 - 30-31 May, Barcelona The endeavor to translate natural language queries into SQL has been a long-standing objective within the realm of computational linguistics and database management. Recent advancements in Generative Artificial Intelligence mark a pivotal moment in this journey. Current benchmarks have showcased that Large Language Models (LLMs) extend their utility beyond mere code generation to embrace specialized tasks such as Text-to-SQL conversion. This seminar aims to explore the cutting-edge developments in this field, highlighting effective methodologies based on frameworks that transcend the traditional tools and languages commonly associated with data science, like Spring Boot and the innovative “Spring AI” APIs, showing how these modern frameworks can facilitate equally the development of a bridge between natural language processing and database interaction.

Watch
Making Spring Cloud Gateway your perfect API gateway solution by Dan Erez @ Spring I/O 2024

Spring I/O 2024 - 30-31 May, Barcelona Slides: https://2024.springio.net/slides/making-spring-cloud-gateway-your-perfect-api-gateway-solution-springio24.pdf Spring Cloud Gateway is a great piece of software, but it is still missing some additions and tunings to be the single API solution for an organization. In this session I’ll talk about various options to deploy it, and complete the missing parts: rate limiting, connection to SSO, Dynamic routing, Circuit breakers, auto documentation & testing and more.

Watch
Unlocking Java's Code Maze by Mihaela Gheorghe-Roman @ Spring I/O 2024

Spring I/O 2024 - 30-31 May, Barcelona Slides: https://2024.springio.net/slides/unlocking-javas-code-maze-springio24.pdf “Unlocking Java’s Code Maze” is not just a presentation. It’s an immersive experience designed to inspire and empower Java developers on their ongoing quest for mastery within the complex world of Java programming by providing practical insights for navigating the code maze effectively. Join Mihaela in this session and embark on a journey to unravel some of the secrets within the Java programming language through the lens of coding challenges. In this exploration, various types of coding challenges commonly encountered in Java development will be handled. You are encouraged to actively participate while we highlight lesser-known features, functionalities, and best practices within the Java language. These hands-on coding examples will showcase how different hidden gems can contribute to writing more efficient and elegant code.

Watch
Magical Beans and Mystery by Tiffany Jernigan / Timo Salm @ Spring I/O 2024

Spring I/O 2024 - 30-31 May, Barcelona Slides: https://github.com/timosalm/magical-beans-and-mystery/blob/main/slides.pdf Repo: https://github.com/timosalm/magical-beans-and-mystery So you just created a Spring Boot project at start.spring.io, but then what? Don’t worry! Tiffany was just there too, and now we are here to help. Join us as we explore Spring at a beginner’s pace. Even though Spring makes Java development so much easier, the initial learning curve can feel daunting (there are over 20 years of resources after all!). Let’s break down what to look at first, and how to continue learning from there. We’ll start with the Spring Framework and its core building blocks, such as the IoC container and these magical beans. Next, we’ll dive into Spring Boot, an extension of the Spring Framework that simplifies and speeds up application development through autoconfiguration for various integrations and more. By the end of this talk, you will better understand Spring and how to create and run your own Spring applications.

Watch
Revving up the good old Samaritan, Spring Boot Admin by Jatin Makhija @ Spring I/O 2024

Spring I/O 2024 - 30-31 May, Barcelona Slides: https://2024.springio.net/slides/revving-up-the-good-old-samaritan-spring-boot-admin-springio24.pdf Delve into the potential of Spring Boot Admin and explore how ingeniously it can empower engineers to glean insights from their applications. Through Spring Boot Admin, we’ve not only pushed boundaries but also realized numerous success stories. In this discussion, I aim to dive into specific areas with live examples, shedding light on achievements, and insights gained & empowering the audience to experiment & hustle. - Application benchmarking with timeouts, TTLs, cache limits - Testing feature flags in a multi-channel, multi-tenant setup - Adjusting log levels on the fly, and debugging incidents has never been easy with the custom setup - Health checks and monitoring: Of course! - API-based access & controlling automation suites - Did I forget heap analysis & thread dumps, eh?

Watch