Many years ago Java developers used news in order to create some Java services. They had many handmade configurations mixed with business logic; they even were using copy-paste techniques. They wrote many lines of the same ugly code, which sometime worked, and sometimes not, but they understood everything they did (mostly). They could easily use debug in order to find a problem and solve it.
And then Spring happened and things have changed… We received a lot of magic from Spring black box and our code became much cleaner and more simple. Business aspects became apart from other technical aspects and configuration code, but debug became more complicated. After we learned how Spring is working we know how to debug our code and solve more complicated problems (mostly).
And then Spring Boot happened…
On the one hand, it solved thousands of problems: versions conflict, configuration issues, infrastructure’s beans declarations, environments problems, and even running or deploying applications including building jar/war… On the other hand, Spring Boot uses so much magic that mostly we have only two scenarios:
1. Everything is working without any effort.
2. Nothing is working and nobody knows why.
In this talk I will try to reveal at least part of Spring Boot magic by discovering Spring Boot concepts, conventions and the way it works. And no matter that after this talk you will understand that there is no magic (mostly) you will enjoy Spring Boot even more, because you will be able to solve Spring Boot problems or conflicts without calling 911 (mostly).