We have some interesting things here, let's understand them. The @SpringBootApplication is the essential annotation for the Spring Boot application; it's a kind of alias for @Configuration, @EnableAutoConfiguration, and @Component annotations. Let's dig in:
- The first annotation, @Configuration indicates that the class can produce a beans definitions for the Spring container. This is an interesting annotation to work with external dependencies such as DataSources; this is the most common use case for this annotation.
- The second annotation, @EnableAutoConfiguration means that with the Spring ApplicationContext container, it will try to help us configure the default beans for the specific context. For instance, when we ...