It has been more than two decades (around 22 years) since Java has been around. For enterprise application development, Java introduced a few technologies that were heavyweight and were very complex enough.
In 2003, Rod Johnson created Spring as an alternative to the heavyweight and complex Enterprise Java Technologies and EJB to make it easy to develop enterprise applications in Java. Being lightweight, flexible, and easy to use, Spring gained popularity soon. Over time, EJB and Java Enterprise Edition (then J2EE) evolved to support POJO-oriented programming models such as Spring. Not only that, arguably inspired by Spring, EJB also started offering AOP, DI, and IoC.
However, Spring never looked back. As EJB and Java EE started including ideas inspired by Spring, Spring started exploring more unconventional and unexplored technology areas, such as Big Data, Cloud Computing, Mobile App Development, and even reactive programming, leaving EJB and Java EE far behind.
During the start of the year, on the month of January 2017, Spring surprised everyone by announcing its support for Kotlin (yes, they announced Kotlin support even before Google) and released a few Kotlin APIs. And, when the power of Kotlin was combined with an already powerful Spring Framework, both got even more powerful. As a reason behind adding Kotlin support, they stated:
That's why we are introducing a dedicated Kotlin support in Spring Framework 5.0.
By Pivotal Spring Team https://spring.io/blog/2017/01/04/introducing-kotlin-support-in-spring-framework-5-0.
So, let's start by creating and setting up our Spring project.