1、主啟動類
1.1 定義與功能
- Spring Boot的主啟動類是一個特殊的Java類,用于啟動Spring Boot應用程序。
- 該類通常使用@SpringBootApplication注解進行標注,這個注解是一個復合注解,包含@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan三個核心注解。
1.2 注解詳解
- @SpringBootConfiguration:用于指定當前類是一個配置類,與@Configuration功能相同。
- @EnableAutoConfiguration:啟動自動配置,它會根據類路徑中的jar包依賴、各種屬性設置和其他因素來自動配置Spring應用程序。
- @ComponentScan:讓Spring掃描到Configuration類并把它加入到程序上下文。默認會掃描當前包及其子包下的所有類。
1.3 主方法
- 主啟動類中的main方法是程序的入口點。
- 通過調用SpringApplication.run(SpringBootDemoApplication.class, args);來啟動Spring Boot應用程序。
2、內置服務
2.1 內置Web服務器
- Spring Boot為Web應用提供了內置Web服務器,無需額外安裝Tomcat、Jetty或Undertow等服務器。
- 通過添加相應的依賴(如
spring-boot-starter-web
),可以自動配置內置Web服務器。
2.2 支持的服務器
- Tomcat:默認內置Web服務器。
- Jetty:另一種輕量級的Web服務器。
- Undertow:一個高性能的Web服務器和Servlet容器。
- Netty:對于基于反應式編程的Web應用(使用Spring WebFlux),Netty是默認的選擇。
2.3 自動配置機制
- 內置Web服務器的自動配置基于Spring Boot的自動配置SPI機制和BeanPostProcessor機制。
- 在項目啟動時,Spring Boot會根據依賴關系和配置文件來選擇合適的內置服務器并進行自動配置。
2.4 定制配置
- 如果需要定制內置服務器的配置,如端口號、訪問日志等,可以通過配置文件(如application.properties或application.yml)進行設置。