在Spring Boot入口類中,調用SpringApplication.run()方法後,應用將通過以下四個步驟進行啓動。
1. 加載配置文件
Spring Boot支持兩種配置文件,即.propertie
和.yml
,此類文件對當前工程的各種配置信息進行了管理,Spring Boot會在啓動時首先將其加載進來。
(.properties
是Spring Boot的默認配置文件格式,但其相對來說不容易被維護,所以更多的時候會選用更爲清晰的.yml
文件)
2. 自動裝配
在Spring Boot中存在很多的啓動器----starter
,每一種啓動器都可以爲工程提供相應的支持。如:
- spring-boot-starterstarter-web 提供web支持
- spring-boot-starter-data-jpa 提供JPA支持,並集成Hibernate
- spring-boot-starter-logging 提供logback日誌的支持
- spring-boot-starter-test 提供JUnit單元測試框架支持
在POM文件中配置了相應的starter
,Spring Boot會對所有的starter
進行自動裝配,使得工程具備各種由其提供支持的功能。
3. 加載組件
在工程中,存在大量的自定義類和業務處理類,這些類都需要交給Spring來託管,在默認的情況下,Spring Boot會處理以下五個註解的類,分別爲:
@Controller
對應MVC模式中的控制器類@Repository
對應DAO類,用於數據處理@Service
對應業務邏輯類@Component
對應不容易區分的類@Entity
對應實體類,任何Hibernate映射對象都要有這個註釋
Spring Boot會將帶有以上註解的類進行統一的加載。
4. 應用初始化
當所有的裝配、組件加載完成後,應用程序會進行初始化,如:啓動Tomcat,初始化日誌組件,初始化數據源,初始化各種連接池等。
當初始化部分完成以後,應用就成功啓動了。