Over a million developers have joined DZone.

Spring I/O 2018 Recap

DZone's Guide to

Spring I/O 2018 Recap

This recap of Spring I/O in Barcelona touches on the lessons learned about the Spring ecosystem, DDD, tips for documentation, and more!

· Java Zone ·
Free Resource

Java-based (JDBC) data connectivity to SaaS, NoSQL, and Big Data. Download Now.

Last week, I had a chance to attend Spring I/O 2018. It was my first time at a Spring I/O conference ever, and it was an honor to share the stage with so many fantastic speakers. The number of participants was doubled compared to last year. 1,000 people from 46 countries gathered in the wonderful city of Barcelona to get Spring knowledge from over 50 speakers.

The agenda was full of interesting topics and workshops from numerous different areas, and it was hard to choose where to go. Unfortunately, the quality level was very diverse — from the very poor talks to great ones. Below, I tried to summarize my thoughts.

First of all, I am very happy to see that DDD concepts are being spread around the world because this is the way we should make our business software. Michael Plöd gave a good talk about implementing DDD in the Spring ecosystem. He made an overview of DDD concepts and mentioned the initiative of Jakub Pilimon and Michał Michaluk, called ddd-by-examples, which is solid proof that all DDD enthusiasts collaborate with each other in teaching people what DDD is all about. What's more, Michael gave an example of the Archunit library, which I had never used before (but I surely will). Archunit is a tool that enables us to enforce architectural conventions within our application by writing tests that stand guard.

In most of my projects, I use Swagger as a way of documenting my APIs. The problem with it is that it can very easily contribute to technology debt, as there are no mechanisms that enforce consistency between the documentation and the actual implementation. An alternative solution was proposed by Mathias Düsterhöft in his talk about Documenting RESTful APIs with Spring REST Docs and RAML. With the help of Spring REST Docs, we are able to produce accurate documentation from our Spring MVC tests. I will surely give it a try.

As I am pretty up to date with Spring 5.0.x and Spring Boot 2.0.x, I didn't get any new information, but I'm sure that all attendees that were new to these releases could get insight into the roadmap and features presented by Juergen Hoeller (Roadmap, Features' highlights), Andy Wilkinson (Actuator), or Madhura Bhave (Spring Boot 2.0).

Unfortunately, I had my flight back to Poland too early to attend talks of Spencer Gibb (Introducing Spring Cloud Gateway), Marcin Grzejszczak (Continuous Deployment of your Application), and Jakub Pilimon (Testing your Message-Driven Application), but as I already had a possibility to see those presentations during Polish conferences and meetups, I'm sure they rocked the place!

Now something about myself. The first day of the conference, at 5:30 PM, I started my talk about Dynamic Configuration Management in Microservice Architecture with Spring Cloud, and... I had a full room. If you don't believe me, look at this photo:

The best thing about the talk is that I got fantastic feedback from the audience. People were approaching me, shaking my hand, asking questions, and from many of them, I heard that it was the best talk of the day. This is exactly what keeps me going! Thank you all for your precious feedback!

Before I go, I want to thank Sergi Almar for giving me a chance to speak in front of such a fantastic audience and for organizing this great event. Well done, Sergi! Many thanks to HL Tech as well for handling all the logistics and supporting my speaker's career all the way through.

I hope to join the next edition of Spring I/O. See you next year! Cheers!

Connect any Java based application to your SaaS data.  Over 100+ Java-based data source connectors.

java ,ddd ,documentation ,spring io

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}