【Spring Boot】一、爲什麼要使用Spring Boot

前言:

爲什麼越來越多的開發者選擇使用Spring Boot,其實要弄明白這其中的緣由,只需要理清web應用開發的背景以及發展,這背後的原因自然就纖毫畢現了。

先來說說我的看法:Spring Boot是隨着Spring 4.0出生的,他的出現,目的是爲了解決Spring這麼多年來的發展導致本身的笨重、各類繁瑣及與第三方框架整合的配置文件,對於碼農或項目團隊來說,是不希望見到的。因此Spring Boot的出現是爲了解決Spring多年發展帶來的弊端。

web應用開發背景:

使用Java做Web應用開發已經有近20年的歷史了,從最初的Servlet1.0一步步演化到現在如此多的框架,庫以及整個生態系統。經過這麼長時間的發展,Java作爲一個成熟的語言,也演化出了非常成熟的生態系統,這也是許多公司採用Java作爲主流的語言進行服務器端開發的原因,也是爲什麼Java一直保持着非常活躍的用戶羣。

最受Java開發者喜好的框架當屬Spring,Spring也成爲了在Java EE開發中真正意義上的標準,但是隨着新技術的發展,腳本語言大行其道的時代(Node JS,Ruby,Groovy,Scala等),Java EE使用Spring逐漸變得笨重起來,大量的XML文件存在與項目中,繁瑣的配置,整合第三方框架的配置問題,低下的開發效率和部署效率等等問題。

這些問題在不斷的社區反饋下,Spring團隊也開發出了相應的框架:Spring Boot。Spring Boot可以說是至少近5年來Spring乃至整個Java社區最有影響力的項目之一,也被人看作是:Java EE開發的顛覆者!

Spring Boot解決的問題:

(1) Spring Boot使編碼變簡單

(2) Spring Boot使配置變簡單

(3) Spring Boot使部署變簡單

(4) Spring Boot使監控變簡單

(5) 解決了Spring的不足

Spring Boot的主要特性:

(1)遵循“習慣優於配置”的原則,使用Spring Boot只需要很少的配置,大部分的時候我們直接使用默認的配置即可; 
(2)項目快速搭建,可以無需配置的自動整合第三方的框架; 
(3)可以完全不使用XML配置文件,只需要自動配置和Java Config; 
(4)內嵌Servlet容器,降低了對環境的要求,可以使用命令直接執行項目,應用可用jar包執行:java -jar; 
(5)提供了starter POM, 能夠非常方便的進行包管理, 很大程度上減少了jar hell或者dependency hell; 
(6)運行中應用狀態的監控; 
(7)對主流開發框架的無配置集成; 

(8)與雲計算的天然繼承;

Spring Boot的核心功能:

(1)獨立運行的Spring項目

Spring Boot可以以jar包的形式進行獨立的運行,使用:java -jar xx.jar 就可以成功的運行項目,或者在應用項目的主程序中運行main函數即可;

(2)內嵌的Servlet容器

內嵌容器,使得我們可以執行運行項目的主程序main函數,是想項目的快速運行;

主程序代碼SpringbootDemoApplication.java

package com.ceshi.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringbootDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootDemoApplication.class, args);
    }
}

(3)提供starter簡化Manen配置

Spring Boot提供了一系列的starter pom用來簡化我們的Maven依賴

可參考官網,https://docs.spring.io/spring-boot/docs/1.4.1.RELEASE/reference/htmlsingle/#using-boot-starter

(4)自動配置Spring

Spring Boot會根據我們項目中類路徑的jar包/類,爲jar包的類進行自動配置Bean,這樣一來就大大的簡化了我們的配置。當然,這只是Spring考慮到的大多數的使用場景,在一些特殊情況,我們還需要自定義自動配置;

(5)應用監控

Spring Boot提供了基於http、ssh、telnet對運行時的項目進行監控

(6)無代碼生成和XML配置

Spring Boot神奇的地方不是藉助於代碼生成來實現的,而是通過條件註解的方式來實現的,這也是Spring 4.x的新特性。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章