Spring Boot歷史與特色
- Spring歷史
- 1.x : 提供XML設定
- 2.x : 提供Annotaion設定
- 3.x : 提供Java Config設定
- 4.x : 官方建議使用Java Config設定
- 5.x : 最低支持JDK8、WebFlux響應式編程模型(異步和非阻塞) 、HTTP/2特性支持
- 響應式編程 :
- 函數式編程 : 將請求委託給處理函數,這些函數接收一個伺服器請求實例並自動返回Reactive Streams(支持背压Backpressure)的异步数据流处理标准 , Mono和Flux這些對象是實現反應式流規範中的Publisher接口的反應式類型,它們的職責是處理數據流。Mono對象處理一個僅含1個元素的流,而Flux表示一個包含N個元素的流。
- WebFlux模塊為RestTemplate提供了一種非阻塞、反應式的替代方案,名為WebClient。
- Spring Test現在包含一個WebTestClient,後者支持對Spring WebFlux伺服器端點執行集成測試
- Spring boot歷史
- 2.x : 增加之特性
- 至少需要 JDK 8 支持
- 響應式編程套件支持
- HTTP 2.0支持
- HikariCP資料庫連線池
- @SpringBootApplication作用在啟動類
- @SpringBootConfiguration 等价于@Configuration配置檔
- @EnableAutoConfiguration 从classpath中搜索所有META-INF/spring.factories配置文件,并读取配置
- @ComponentScan 掃取當前包下的所有Annotation產生Bean
- Servlet API歷史
- Servlet是Java EE规范中的定义的一个概念,它是处理用户请求的核心
- 自Servlet 3.0後,WEB-INF目錄下可以不用加入web.xml , 要做initialize的工作可用下列兩種方式
- 使用@WebServlet, @WebFilter, @WebListener來標示原有的servlet,filter,listener
- 實作javax.servlet.ServletContainerInitializer
- Spring Boot webmvc是通过使用Servlet3.0引入的新接口ServletContainerInitializer来消去web.xml配置文件的。
- SpringMVC是通過使用WebApplicationInitializer取代web.xml
沒有留言:
張貼留言