SpringBoot 2.1.1 官方文件閱讀筆記 part1
阿新 • • 發佈:2018-12-28
2.1.1版本要求:
- Java 8 至 Java 11
- Spring 5.1.3
內建工具支援:
- Maven 3.3+
- Gradle 4.4+
內建 servlet 容器:
- Tomcat 9.0 要求 Servlet 4.0
- Jetty 9.4 要求 Servlet 3.1
- Undertow 2.0 要求 Servlet 4.0
SpringBoot 應用程式可以部署在 Servlet 3.1 以上的任意容器中
spring-boot-starter-parent 提供了 maven預設設定以及dependency-management來省略引入包的版本(含有<executions>配置以繫結“二次打包”的目標) spring-boot-starter-web 用於提供網路應用初始化(將會為應用加入Tomcat以及SpringMVC,RESTful風格) spring-boot-maven-plugin 構建可執行jar包的必要依賴(若使用Spring Boot starter parent pom,就無需配置,只要引入外掛即可) spring-boot-starter-data-jpa 使用JPA(Java持久層API)需要引入的依賴
@RestController 表示直接返回結果字串給呼叫者 @EnableAutoConfiguration 表示根據匯入的依賴自動配置Spring @ImportResource 可用於匯入XML檔案 @Configuration 可以註冊額外的bean或者匯入附加的配置類 @ComponentScan 用於掃描專案中設定的所有Spring元件(若不想使用該註解,可用@Import({XXXX.class,aaaa.class})代替) @SpringBootApplication (設定在入口類上方)用於設定包掃描。使用此註解時相當於同時使用 @Configuration,@EnableAutoConfiguration 以及 @ComponentScan。並且使用的是這三者的預設配置。 如果不想使用該註解,同時使用@EnableAutoConfiguration 和 @ComponentScan 兩者搭配可以作為替代
public class Example
{
public static void main(String[] args) throws Exception
{
//傳入Example.class用以告知SpringApplication該類是主要的Spring元件,args陣列用以暴露命令列語句
SpringApplication.run(Example.class, args);
}
}
SpringBoot官方推薦基於Java程式碼的設定模式(註解模式)
//建議將該註解設置於作為核心的並有@Configuration標識的類上
springboot自動基於匯入的jar包進行配置(包括資料庫連結的bean)(該功能通過 @SpringBootApplication 或 @EnableAutoConfiguration 實現)
設定不使用某部分自動裝配功能
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
當類不在classpath中時,使用excludeName進行設定,此時需要完全路徑
@EnableAutoConfiguration(excludeName={.../.../DataSourceAutoConfiguration.class})
配置包掃描時,如果一個bean擁有構造器,可以省略@Autowired註解
在載入靜態資源時,springMVC可以設定HTTP請求快取頭用以響應
新增springboot提供的額外工具
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
使用該工具後,類路徑下的檔案有改動時會自動重啟,便於開發者快速瞭解變化
該工具將快取選項預設設定為禁用狀態,當需要看到所有請求細節的日誌時,將spring.http.log-request-details設為開啟狀態
該工具中的重啟功能對於使用ObjectInputStream進行反序列化的物件效果不好