SpringBoot是伴隨着Spring4.0誕生的,繼承了Spring的優點,一經推出,引起了巨大的反向;目前Spring
Boot的版本為2.1.0,需要Java7及Spring Framework4.1.5以上的支持。如果想在Java6下使用它,需要一些額外的
設置。
Spring Boot的優點:
使用Java或Groovy開發基於Spring的應用程序非常容易。
它減少了大量的開發時間並提高了生產力。
它避免了編寫大量的樣板代碼,注釋和XML配置。
Spring Boot應用程序與其Spring生態系統(如Spring JDBC,Spring ORM,Spring Data,Spring Security等)集成非常容易。
它遵循“自用默認配置”方法,以減少開發工作量。
它提供嵌入式HTTP服務器,如Tomcat,Jetty等,以開發和測試Web應用程序非常容易。
它提供CLI(命令行界面)工具從命令提示符,非常容易和快速地開發和測試Spring Boot(Java或Groovy)應用程序。
它提供了許多插件來開發和測試Spring啟動應用程序非常容易使用構建工具,如Maven和Gradle。
它提供了許多插件,以便與嵌入式和內存數據庫工作非常容易。
Spring Boot的核心功能
(1)獨立運行的Spring項目
Spring Boot可以以jar包的形式進行獨立的運行,使用:java -jar xx.jar
就可以成功的運行項目,或者在應用項目的主程序中運行main函數即可;
(2)內嵌的Servlet容器
內嵌容器,使得我們可以執行運行項目的主程序main函數,是想項目的快速運行;
主程序代碼SpringbootDemoApplication.java
-
package com.xuliugen.demo;
-
-
import org.springframework.boot.SpringApplication;
-
import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-
-
public class SpringbootDemoApplication {
-
-
public static void main(String[] args) {
-
SpringApplication.run(SpringbootDemoApplication.class, args);
-
}
-
}
(3)提供starter簡化Manen配置
Spring Boot提供了一系列的starter pom用來簡化我們的Maven依賴,下邊是創建一個web項目中自動包含的依賴,使用的starter pom以來為:spring-boot-starter-web
spring-boot-starter-web:支持全棧web開發,里面包括了Tomcat和Spring-webmvc。
spring-boot-starter-mail:提供對javax.mail的支持.
spring-boot-starter-ws: 提供對Spring Web Services的支持
spring-boot-starter-test:提供對常用測試框架的支持,包括JUnit,Hamcrest以及Mockito等。
spring-boot-starter-actuator:支持產品環境下的一些功能,比如指標度量及監控等。
spring-boot-starter-jetty:支持jetty容器。
spring-boot-starter-log4j:引入默認的log框架(logback)
Spring Boot官網還提供了很多的starter pom,請參考:
http://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對運行時的項目進行監控;
SpringBoot缺點
Spring Boot作為一個微框架,離微服務的實現還是有距離的。springboot 只是為了提高開發效率,是為了提升生產力的。
沒有提供相應的服務發現和注冊的配套功能,自身的acturator所提供的監控功能,也需要與現有的監控對接。沒有配套的安全管控方案,對於REST的落地,還需要自行結合實際進行URI的規范化工作。
注意:
將現有或傳統的Spring Framework項目轉換為Spring Boot應用程序是一個非常困難和耗時的過程。它僅適用於全新Spring項目。