使用Java或Groovy開發基於Spring的應用程序很是容易。html
它減小了大量的開發時間並提升了生產力。java
它避免了編寫大量的樣板代碼,註釋和XML配置。web
Spring Boot應用程序與其Spring生態系統(如Spring JDBC,Spring ORM,Spring Data,Spring Security等)集成很是容易。spring
它遵循「自用默認配置」方法,以減小開發工做量。數據庫
它提供嵌入式HTTP服務器,如Tomcat,Jetty等,以開發和測試Web應用程序很是容易。安全
它提供CLI(命令行界面)工具從命令提示符,很是容易和快速地開發和測試Spring Boot(Java或Groovy)應用程序。springboot
它提供了許多插件來開發和測試Spring啓動應用程序很是容易使用構建工具,如Maven和Gradle。服務器
它提供了許多插件,以便與嵌入式和內存數據庫工做很是容易。mvc
(1)獨立運行的Spring項目框架
Spring Boot能夠以jar包的形式進行獨立的運行,使用:java -jar xx.jar
就能夠成功的運行項目,或者在應用項目的主程序中運行main函數便可;
(2)內嵌的Servlet容器
內嵌容器,使得咱們能夠執行運行項目的主程序main函數,是想項目的快速運行;
主程序代碼SpringbootDemoApplication.java
(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對運行時的項目進行監控;
Spring Boot做爲一個微框架,離微服務的實現仍是有距離的。springboot 只是爲了提升開發效率,是爲了提高生產力的。
沒有提供相應的服務發現和註冊的配套功能,自身的acturator所提供的監控功能,也須要與現有的監控對接。沒有配套的安全管控方案,對於REST的落地,還須要自行結合實際進行URI的規範化工做。
注意:
將現有或傳統的Spring Framework項目轉換爲Spring Boot應用程序是一個很是困難和耗時的過程。它僅適用於全新Spring項目。