SpringBoot對比傳統開發以及自身的優缺點

 

        SpringBoot是伴隨着Spring4.0誕生的,繼承了Spring的優勢,一經推出,引發了巨大的反向;目前Spring
 Boot的版本爲2.1.0,須要Java7及Spring Framework4.1.5以上的支持。若是想在Java6下使用它,須要一些額外的
設置。

Spring Boot的優勢:

使用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

Spring Boot的核心功能

(1)獨立運行的Spring項目框架

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

(2)內嵌的Servlet容器

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

主程序代碼SpringbootDemoApplication.java

  1.  
    package com.xuliugen.demo;
  2.  
     
  3.  
    import org.springframework.boot.SpringApplication;
  4.  
    import org.springframework.boot.autoconfigure.SpringBootApplication;
  5.  
     
  6.  
    @SpringBootApplication
  7.  
    public class SpringbootDemoApplication {
  8.  
     
  9.  
    public static void main(String[] args) {
  10.  
    SpringApplication.run(SpringbootDemoApplication.class, args);
  11.  
    }
  12.  
    }

(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項目。

相關文章
相關標籤/搜索