官术网_书友最值得收藏!

Looking under the hood

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 create the web MVC application with Spring Boot, we will probably need a web server container to run it. In a default configuration, the Spring container, together with @EnableAutoConfiguration, will configure a bean Tomcat-embedded container for us. This annotation is very helpful for developers.
  • The @Component is a stereotype, the container understands which class is considered for auto-detection and needs to instantiate it.

The SpringApplication class is responsible for bootstrapping the Spring application from the main method, it will create an ApplicationContext instance, take care of configurations provided by the configuration files, and finally, it will load the singleton beans that are defined by annotations.

Stereotype Annotations denote a conceptual division in an architecture layer. They help the developers understand the purpose of the class and the layer which the beans represent, for example, @Repository means the data access layer.
主站蜘蛛池模板: 广汉市| 德令哈市| 乌拉特中旗| 莱芜市| 贵德县| 永顺县| 清镇市| 漯河市| 济阳县| 定远县| 商水县| 工布江达县| 司法| 岢岚县| 大石桥市| 桑植县| 上思县| 广饶县| 蚌埠市| 嘉祥县| 濮阳县| 定陶县| 锡林浩特市| 内丘县| 广南县| 双桥区| 蒙城县| 山西省| 绍兴市| 昌图县| 东兰县| 乌鲁木齐市| 龙里县| 饶河县| 太白县| 安陆市| 屏东县| 胶州市| 增城市| 曲靖市| 黄龙县|