- Spring 5.0 By Example
- Claudio Eduardo de Oliveira
- 256字
- 2021-06-24 19:17:32
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.
推薦閱讀
- Spring Boot開發與測試實戰
- Python進階編程:編寫更高效、優雅的Python代碼
- Groovy for Domain:specific Languages(Second Edition)
- 零基礎學Java程序設計
- PySide GUI Application Development(Second Edition)
- Symfony2 Essentials
- Python編程:從入門到實踐
- Visual C++開發入行真功夫
- Mobile Device Exploitation Cookbook
- 自學Python:編程基礎、科學計算及數據分析(第2版)
- JavaScript悟道
- 黑莓(BlackBerry)開發從入門到精通
- 微信小程序開發邊做邊學(微課視頻版)
- Clojure編程樂趣
- Python深度學習與項目實戰