spring boot入門:功能介紹

一、Spring Boot四大功能

Spring Boot將很多魔法帶入了Spring應用程序的開發之中,其中最重要的是以下四個核心。

  • 自動配置:針對很多Spring應用程序常見的應用功能,Spring Boot能自動提供相關配置。
  • 起步依賴:告訴Spring Boot需要什麼功能,它就能引入需要的庫。
  • 命令行界面:這是Spring Boot的可選特性,藉此你只需寫代碼就能完成完整的應用程序,無需傳統項目構建。
  • Actuator:讓你能夠深入運行中的Spring Boot應用程序,一探究竟。

二、功能介紹

1. 自動配置

在任何Spring應用程序的源代碼裏,你都會找到Java配置或XML配置(抑或兩者皆有),它們爲應用程序開啓了特定的特性和功能。舉個例子,如果你寫過用JDBC訪問關係型數據庫的應用程序,那你一定在Spring應用程序上下文裏配置過JdbcTemplate這個Bean。
既然它如此常見,那爲什麼還要你去寫呢?
Spring Boot會爲這些常見配置場景進行自動配置。如果Spring Boot在應用程序的Classpath裏發 現H2數據庫的庫,那麼它就自動配置一個嵌入式H2數據庫。如果在Classpath裏發現JdbcTemplate,那麼它還會爲你配置一個JdbcTemplate的Bean。你無需操心那些Bean的配置,Spring Boot會做好準備,隨時都能將其注入到你的Bean裏。
Spring Boot的自動配置遠不止嵌入式數據庫和JdbcTemplate,它有大把的辦法幫你減輕配置負擔,這些自動配置涉及Java持久化API(Java Persistence API,JPA)、Thymeleaf模板、安全和Spring MVC。

2.起步依賴

向項目中添加依賴是件富有挑戰的事。你需要什麼庫?它的Group和Artifact是什麼?你需要哪個版本?哪個版本不會和項目中的其他依賴發生衝突?
舉個例子,假設你正在用Spring MVC構造一個REST API,並將JSON(JavaScript Object Notation)作爲資源表述。此外,你還想運用遵循JSR-303規範的聲明式校驗,並使用嵌入式的Tomcat服務器來提供服務。要實現以上目標,你在Maven或Gradle裏至少需要以下8個依賴:

  • org.springframework:spring-core
  • org.springframework:spring-web
  • org.springframework:spring-webmvc
  • com.fasterxml.jackson.core:jackson-databind
  • org.hibernate:hibernate-validator
  • org.apache.tomcat.embed:tomcat-embed-core
  • org.apache.tomcat.embed:tomcat-embed-el
  • org.apache.tomcat.embed:tomcat-embed-logging-juli
    不過,如果打算利用Spring Boot的起步依賴,你只需添加Spring Boot的Web起步依賴(org.springframework.boot:spring-boot-starter-web),僅此一個。它會根據依賴傳遞把其他所需依賴引入項目裏,你都不用考慮它們。
    比起減少依賴數量,起步依賴還引入了一些微妙的變化。向項目中添加了Web起步依賴,實際上指定了應用程序所需的一類功能。因爲應用是個Web應用程序,所以加入了Web起步依賴。與之類似,如果應用程序要用到JPA持久化,那麼就可以加入jpa起步依賴。如果需要安全功能,那就加入security起步依賴。簡而言之,你不再需要考慮支持某種功能要用什麼庫了,引入相關起步依賴就行。

3.命令行界面

Spring Boot CLI是Spring Boot的非必要組成部分。更方便快速的開發應用程序,因爲我只在eclipse下使用sprong boot,沒有對命令行界面進行學習研究,有興趣的同學可以自行搜索查看。

4.Actuator

Spring Boot的最後一塊“拼圖”是Actuator,其他幾個部分旨在簡化Spring開發,而Actuator則要提供在運行時檢視應用程序內部情況的能力。安裝了Actuator就能窺探應用程序的內部情況了,包括如下細節:

  • Spring應用程序上下文裏配置的Bean
  • Spring Boot的自動配置做的決策
  • 應用程序取到的環境變量、系統屬性、配置屬性和命令行參數
  • 應用程序裏線程的當前狀態
  • 應用程序最近處理過的HTTP請求的追蹤情況
  • 各種和內存用量、垃圾回收、Web請求以及數據源用量相關的指標
    Actuator通過Web端點和shell界面向外界提供信息。如果要藉助shell界面,你可以打開SSH(Secure Shell),登入運行中的應用程序,發送指令查看它的情況。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章