SpringBoot的優缺點


  首先學習一門語言,需要知道其優點,說道springboot,很多人只知道能簡化配置,其他的概不清楚。

優點

創建獨立的Spring應用程序

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

嵌入的Tomcat,Jetty或者Undertow,無序部署WAR文件

  Spring 項目部署時需要我們在服務器上部署 tomcat,然后把項目打成 war 包扔到 tomcat里

  springboot項目不需要單獨下載Tomcat等傳統服務器,內嵌容器,使得我們可以執行運行項目的主程序main函數,並讓項目的快速運行,另外,也降低對運行環境的基本要求,環境變量中有JDK即可。

允許通過maven來根據需要獲取starter

  Spring Boot提供了一系列的starter pom用來簡化我們的Maven依賴,通過這些starter項目就能以Java Application的形式運行Spring Boot項目,而無需其他服務器配置

  starter pom:https://docs.spring.io/spring-boot/docs/1.4.1.RELEASE/reference/htmlsingle/#using-boot-starter

盡可能自動配置Spring

  Spring Boot提供Spring框架的最大自動化配置,大量使用自動配置,使得開發者對Spring的配置盡量減少

  Spring Boot更多的是采用 Java Config 的方式,對 Spring 進行配置。

  新建一個類,但是我不用 @Service注解,也就是說,它是個普通的類,那么我們如何使它也成為一個 Bean 讓 Spring 去管理呢?只需要@Configuration 和@Bean兩個注解即可

public class TestService {
    public String sayHello () {
        return "Hello Spring Boot!";
    }
}
 
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
 
@Configuration
public class JavaConfig {
    @Bean
    public TestService getTestService() {
        return new TestService();
    }
}

  @Configuration表示該類是個配置類,@Bean表示該方法返回一個 Bean。這樣就把TestService作為 Bean 讓 Spring 去管理了,在其他地方,我們如果需要使用該 Bean,和原來一樣,直接使用@Resource注解注入進來即可使用,非常方便。

提供生產就緒型功能,如指標、健康檢查和外部配置

  Spring Boot提供了基於http、ssh、telnet對運行時的項目進行監控;我們可以引入 spring-boot-start-actuator 依賴,直接使用 REST 方式來獲取進程的運行期性能參數,從而達到監控的目的,比較方便。但是 Spring Boot 只是個微框架,沒有提供相應的服務發現與注冊的配套功能,沒有外圍監控集成方案,沒有外圍安全管理方案,所以在微服務架構中,還需要 Spring Cloud 來配合一起使用。

絕對沒有代碼生成,對XML沒有要求配置

缺點

  依賴太多,一個spring boot項目就有很多M

  缺少服務的注冊和發現等解決方案

  缺少監控集成方案,安全管理方案

 本文借鑒:SpringBoot的優點《深入淺出SpringBoot 2.x》

返回頂部


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM