1. 程式人生 > >【框架】Spring Boot

【框架】Spring Boot

概述

1)What is Spring?

  • 應用框架,一個大體的web程式包含的Dao、Service、Impl和顯示頁面等相關元件
  • 程式設計和配置的模版,能夠包含了各種資料庫連線等常用功能,使得我們不需要經常去接觸底層的重複性程式碼
  • 底層支援,如對於不同的資料庫Mysql、Oracle等Spring內部有相關的配置能夠支援忽視這部分差異,無差別地對資料庫進行操作

缺點:

  • 臃腫
  • 複雜的setup步驟
  • 複雜的配置
  • 複雜的build和deploy步驟

2)What is Spring Boot?

Spring Boot是一箇中間件,套接在Spring之上,充當起簡化配置和COC的作用。

用Spring Boot前

App
Tomcat
Spring
OS

 用Spring Boot後

App
Spring
OS

可以看到,連Tomcat的配置都簡化了(被放在了一個jar檔案中),專心寫程式,其他的配置都只需要交給Spring Boot按照預設規格執行即可。

IoC的概念

首先,要明白IoC是為了低耦合。因為往往物件的Hard Coding會使得不同的類之間存在緊耦合,不便於拓展。如下圖所示:

1)為什麼?

我們不希望實現程式碼之間的緊耦合(如Computer類中存在IntelCPU類物件這種硬編碼),於是我們希望能夠通過“注入”的方式,建立Computer的過程中能夠自動地在Computer類中建立一個IntelCPU類的實現(而非硬編碼實現)。

2)怎麼做?

這種自動的“依賴注入”過程,即IoC(Invert of Control)或者DI(Dependency Inverse),需要通過依賴注入容器(Dependency Inverse Container)來實現。在我們這個情況,用的就是Spring Container。

在Spring中,我們通過XML檔案配置這種依賴(誰是誰的“配件”啊,我生成的時候你也給我生成一個呀),因為我們可以在將來更改XML的配置從而改變依賴關係,因此不是一種緊耦合。

我個人願意把這種鬆耦的程式設計風格叫做“面向XML程式設計”。

3)和Spring Boot的關係

因為依賴注入的時候,我們總要花時間去關心XML的配置。而Spring Boot的作用就是讓配置變得更簡單的,所以它簡化了我們配置XML的步驟。

具體實現就是通過加上註解,標識好哪些是等待裝配的元件,讓系統自動去裝配。如下圖:

簡化過後的電腦Computer中,需要一個CPU元件。於是在CPU成員頭上加@Autowired註解,讓Spring Boot自己去找相應的Component自動裝配。對於等待被安裝的類,用@Component表明它是一個充當元件的類。

此外,鬆耦合能夠實現區域性的測試(即測試時排除某個Component的程式碼,以便排查錯誤)。只有鬆耦合才能夠建立Mock Object,能夠在測試程式碼的時候不影響資料庫中的資料。

總的來說,鬆耦合能夠幫助我們(1)更好地測試 (2)更好地維護、拓展程式碼

使用

1)有STS(Springboot Tool Suite)就直接用STS,基本上就是多了一個“New Spring Starter Project...”的Eclipse

2)要麼就到官網(https://start.spring.io/)初始化把對應的Spring Boot Starter的zip檔案下載下來,然後當作Project開啟。

 

教程:我強推