Many years ago Java developers used "new" in order to create 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 sometimes even worked.
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.
And then Spring Boot happened… On the one hand, it solved thousands of problems: versions conflict, configuration issues, infrastructure's beans declarations, problems with environments, and even running or deploying applications including building jar/war… On the other hand, Spring Boot uses so much magic that mostly we come across two scenarios:
Everything is working without any effort even though nobody knows why.
Nothing is working and nobody knows why.
In this talk, we'll try to reveal at least a part of Spring Boot magic by discovering Spring Boot concepts, conventions and the way it works. And even though 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).