Spring I/O 2016 the conference

On the 19th and 20th of May this year Roxana Balaci, Calin Manea, Bogdan Toma, Bogdan Marinau and me were lucky enough to attend the Spring IO Conference in Barcelona. Why lucky? We were two days away from work in a sunny Spanish city near the Mediterranean Sea. The event is organized by Sergi Almar, a Spring certified instructor. This is the first time I have attended this conference so I don’t have a reference to compare with. The event was organized very well, there were no delays and everything ran smoothly. I missed only one thing. I was too lazy to take with me a notebook and I hoped that they’d provide one. Well, I was wrong so I had to look for a place to buy it.

Going to a conference does not make you instantly smarter but if you are curious enough to take notes and after that to look for more information on those topics your effort is rewarded. I’m looking now into my notes and I’m quite shocked how bad I am on taking them. I hope that you’ll find some useful information.

It started with an awesome lights show that put us into the right mood for the next two days.

First day’s keynote speakers were Juergen Hoeller, Stéphane Nicoll and Phillip Webb and they addressed how they will take us FROM SPRING FRAMEWORK 4.3 TO 5.0. I took home with me:

  • Support for Spring 3.2 will end by the end of 2016.
  • Spring 4.3 will be supported between June 2016 and 2020.
  • Spring 5.0 will be released in 2017, close to JDK 9 release but if JDK 9 will be delayed, Spring 5.0 will not wait for it.
  • Spring boot 1.4 will have readable stack traces at startup, support to render ASCII art banners and many more other features.

The first talk I attended was CUSTOMIZE YOUR SPRING BOOT EXPERIENCE BY WRITING YOUR OWN SPRING BOOT STARTER and it was given by Michael Simons. I don’t have experience with Spring Boot so I let his code and slides speak.

Calin attended to ARCHITECTING YOUR CODEBASE by Kamil Szymański. This wasn’t a presentation of a new and shiny framework or feature that would solve all programming problems. Actually it showed the opposite. Despite all the tools, the majority of projects are quite difficult to understand, debuq, test and maintain. Structuring the project in a way that you can tell what it actually does at the first glance comes a long way. He took the Spring example Pet shop clinic project, showed its flaws and refactored it. A similar presentation was given by Uncle Bob Martin.

Roxana attended to CLOUD NATIVE JAVA given by Josh Long. She noted down:

  • @RefreshScope – Please check the detailed explanations about this.
  • Support for production necessary features: service discovery with Eureka, intelligent routing with Zuul, Ribbon for client side load balancing, Hystrix as circuit breaker, spring cloud netflix.
  • Zipkin distributed tracing system

The second talk was delivered by Julien Dubois and it was about WHAT’S NEW IN JHIPSTER IN 2016.

I couldn’t find his slides, so the best way to find more is check directly on jhipster site.

The third talk was one of best where Oleg Shelajev discussed about FLAVORS OF CONCURRENCY IN JAVA.

I joined a little late and all the seats were taken so I had a great view behind a pillar. The content was great, I have plenty of things to learn about.

Caching is a hot subject, so I joined the talk about CACHING WITH SPRING: ADVANCED TOPICS AND BEST PRACTICES by Michael Plöd.

If you want to find more, check his visual support for the talk.

This year I played a little bit with kotlin so I wanted to find out more from DEVELOPING A GEOSPATIAL WEBSERVICE WITH KOTLIN AND SPRING BOOT talk given by Sébastien Deleuze.

His project was just a pretext to discuss about kotlin.

Roxana attended to MODERN JAVA COMPONENT DESIGN WITH SPRING 4.3 given by Juergen Hoeller. Her take aways are:

  • Spring Web
    • @GetMapping == shortcut for @RequestMapping(method = RequestMethod.GET) (without the “consumes” attribute from @RequestMapping)
    • @PostMapping, @DeleteMapping, @PatchMapping
  • Reminder from Spring 4.2 – @JmsListener, @EventListener and @AliasFor.
  • Generic Based injection matching – since Spring 4.0.

The last talk of the first day was about JUNIT 5 – SHAPING THE FUTURE OF TESTING ON THE JVM and on the stage was Sam Brannen.
One of the challenges they need to handle was to run Junit 5 in IDEs with no direct support from them. They managed to find an intermediate solution.

The second day’s keynote speakers were Rossen Stoyanchev and Stephane Maldini and they started the day with DESIGNING APPLICATIONS: THE REACTIVE WAY.

The take away from this keynote is very well tweeted below

I don’t like to write documentation, in fact it’s an elegant way to say that I hate it. Andy Wilkinson convinced me to join his talk because there is light at the end of the tunnel with TEST-DRIVEN DOCUMENTATION WITH SPRING REST DOCS.

I’ll definitely check out more of these on this subject.

After the coffee break it was the perfect time for a session with 40 TIPS & TRICKS FOR SPRING IN INTELLIJ IDEA given by Stéphane Nicoll and Yann Cébron.

I don’t remember if below inspection in IntelliJ IDEA was presented in this talk but I cannot move away without mentioning it.

The project used in this session waits for you on github.

Another talk that I liked was UNDERSTANDING MICROSERVICE PERFORMANCE given by Rob Harrop.

I noted down the following:

The first talk after lunch was ANGULAR 2 FOR SPRING DEVELOPERS given by Sergi Almar where I found out more about transpile and TypeScript.

One of the last talks was SPRING INTEGRATION WITH SPRING BOOT AND RABBITMQ given by Gary Russell. My take aways from this talk are to read Enterprise Integration Patterns and to check Spring Integration Samples.

Two days of attending conference talks can be challenging and my energy level was quite low at that moment. The last two talks I attended were RAML – SPECIFICATION TO MANAGE THE API LIFECYCLE and USING SPRING WITH SCALA given by FÁTIMA CASAÚ and Bernhard Wenzel.

Other notes Roxana:
* Caffeine caching library based on Java 8
* Getguesstimate, Getguesstimate App.

The top three talks of this conference were

and I’m happy that I attended two of them.

Any respectable event has a slogan and it’s the perfect way to end this post. See you next time.

Article written by Vasile Boris