List of videos

Build resilient systems with Spring Cloud Contract and Testcontainers by Olga & Oleg @ Spring I/O 23
Spring I/O 2023 - Barcelona, 18-19 May Speakers: Olga Maciaszek-Sharma / Oleg Šelajev GitHub repo: https://github.com/olgamaciaszek/coffee Verifying behaviors of the cloud-native applications and ensuring that all of the services in the system work correctly together is both crucial and challenging. Manually maintaining environments to test the correctness of the entire system is undevops-like and fragile. Luckily, modern tools can help you to build automated, reliable test pipelines, and in this session, we explore how using Spring Cloud Contract and Testcontainers together can improve your testing and deployment processes. Spring Cloud Contract is an implementation of Consumer-Driven Contracts, an approach that provides a way to easily describe and verify APIs, at the same time allowing building API backward compatibility verification into the deployment process. Testcontainers lets developers programmatically build test environments consisting of real services running in lightweight and disposable containers. It turns the process of integration testing into a seamless, unit-test-like experience. In this presentation, we’ll show how contract and integration tests complement each other and explore one of the most natural and reliable approaches to service evolution with contract testing. We’ll discuss why in Spring Cloud Contract, we’ve decided to switch to using Testcontainers as the solution for Kafka and AMQP messaging verification and demonstrate practical use-cases and code examples of how to set up both types of tests in your applications and deployment pipelines.
Watch
Do you really need Hibernate by Simon Martinelli @ Spring I/O 2023
Spring I/O 2023 - Barcelona, 18-19 May Slides: https://speakerdeck.com/simas/do-you-really-need-hibernate GitHub repo: https://github.com/simasch/jooq-examples Hibernate is often used without thinking twice. But is that the best solution in all cases? This talk shows another possibility that can lead to better performance in many cases. Projects often use Java Persistence API (JPA) by default and, thus, mostly Hibernate. But do all applications need a comprehensive object/relational mapping (ORM) with all conceivable functions? This talk examines the architecture of database-centric applications and discusses whether you always need an object graph for persistence. Using an example application, it is shown how pure SQL, with the help of jOOQ and (nested) Java Records simplifies data access and how common ORM problems, such as the n+1 select problem, can be avoided. Finally, the possibility of combining jOOQ and JPA/Hibernate and thus using the best of both worlds is discussed.
Watch
Let's Spring Forth and Stream with Apache Pulsar by Mary Grygleski / Christophe Bornet @ Spring I/O
Spring I/O 2023 - Barcelona, 18-19 May Slides: https://docs.google.com/presentation/d/1ygm-SMWWnxHB7Dip6PEE0xCCCgUtGbHPY72vp0_maUQ/edit#slide=id.g245c20d6060_0_178 GitHub repo: https://github.com/cbornet/intro-spring-pulsar-demo With Spring’s flexible design as a development framework, we’ll take a look and see how we can leverage on its features such as auto-configuration, templates, listeners, and so on, to build a production-ready application that would interoperate very well with Apache Pulsar, and utilize Pulsar’s powerful capabilities to work with distributed messages and data streams in a cloud-native environment. We will build a sample application using the “Spring for Apache Pulsar” toolkit to bring the joy of development to developers.
Watch
Architecturally evident Spring applications with jMolecules by Oliver Drotbohm @ Spring I/O 2023
Spring I/O 2023 - Barcelona, 18-19 May Slides: https://2023.springio.net/docs/slides/architecturally-evident-spring-applications-with-jmolecules-springio23.pdf Spring applications are usually written using a certain framework or at least based on a particular platform. Some of them provide means to express architectural concepts, but usually, there’s a gap between architectural and design patterns and the actual code. Closing that gap is a challenge, and it’s hard to separate code from technology. jMolecules is a framework independent library to express well-known architectural patterns in Java code and let technical integration with frameworks like Spring, compliance with implementation heuristics and documentation of the system’s current arrangement be derived from that. The talk gives an overview of the fundamental idea and the way jMolecules allows developers to make use of it. We then discuss a variety of optional technology integration into Spring, Jackson, JPA, and MongoDB as well as how to generate, high-level, structural documentation from that.
Watch
Empower your Spring Applications with Python Features on GraalVM by Johannes Link @ Spring I/O 2023
Spring I/O 2023 - Barcelona, 18-19 May GitHub repo: https://github.com/EXXETA/springio-2023 GraalVM is mainly known for its native image-compiler. But it provides a second feature: Running languages like Python and JavaScript side-by-side with JVM-languages in a single program. So we can mix Java and Python in our Spring Boot-application like we’re mixing Java and Kotlin! In this session we will have a deepdive into GraalVM to understand how those different languages are working together. I will demonstrate how to implement a service using Data Science-packages in Python and inject it as Bean in Spring Boot. We will also discover how to set up a suitable Dockerfile and write test for our code. Finally I will discuss possible use cases for so called “polyglot” applications and next steps in their development.
Watch
The Easy Way to Run and Scale Spring Apps on Cloud by Sean Li & Adib Saikali @ Spring I/O 2023
Spring I/O 2023 - Barcelona, 18-19 May Azure Spring Apps is a fully managed service from Microsoft and VMware. It solves the challenges of running Spring apps at a cloud scale by removing the need to worry about infrastructure, application lifecycle, monitoring, container intricacies, and Kubernetes. This session is for developers looking to learn what Azure Spring Apps is about. We’ll start the session with a technical overview and demos so you can see how it works, and what capabilities it has. Join us to learn the best way to run Spring apps on Azure!
Watch
Testing with Spring, AOT, GraalVM, and JUnit 5 by Sam Brannen @ Spring I/O 2023
Spring I/O 2023 - Barcelona, 18-19 May Slides: https://www.slideshare.net/sbrannen/testing-with-spring-aot-graalvm-and-junit-5-spring-io-2023 This talk will focus on the latest testing features in Spring Framework 6.0.x as well as JUnit Jupiter 5.9.x and the upcoming JUnit Jupiter 5.10. In addition, this talk will provide attendees tips on how to test a Spring application in AOT mode as well as within a GraalVM native image.
Watch
Why Spring Belongs In Your Data Stream (From Edge to Multi Cloud) by Fabrizio Marini @ Spring I/O 23
Spring I/O 2023 - Barcelona, 18-19 May Slides: https://2023.springio.net/docs/slides/why-spring-belongs-in-your-data-stream-from-edge-to-multi-cloud-springio23.pdf Let’s build data streaming apps anywhere with Spring at any scale. With modern applications spanning from edge to any and all clouds to support data collection, real-time streaming, sensor ingest, edge computing, IoT use cases, and edge AI, we need to be able to run our Spring microservices anywhere. Apache Kafka allows us to build computing at the edge and produce and consume messages at scale in any IoT, hybrid, or cloud environment. We will also send messages via MQTT protocol to be used for high-speed messaging. We will have a demo that shows coding, running, and deploying Spring-based Edge applications to Raspberry Pis and NVIDIA Jetson devices. Spring is often forgotten in real-time data processing and replaced with Python or Scala. Java and Spring are perfect for real-time data processing. Spring belongs in your real-time data pipeline, and I’ll show you how to incorporate it into streaming applications as part of a FLaNK-Spring application. Kafka, Flink, Spark, NiFi, and Spring work together to build fast, safe streaming applications to deploy in bare metal, VMs, containers, pods, VMware Tanzu, or any cloud.
Watch
Spring I/O 2023 - After Movie
Spring I/O 2023 - Barcelona, 18-19 May This was Spring I/O 2023!
Watch