Java應用開發的顛覆者:Spring Boot

有人說,Spring Boot的出現,讓Java迎來了又一春,它是Java應用開發的顛覆者,徹底改變了Java應用開發的模式。

以往我們做Spring應用開發,要知道配置哪些類來讓Hibernate和Spring一起工作,要知道如何配置view resolver來控制哪個模版進行視圖層的展示。經常寫了一大堆代碼之後發現只是在處理Spring框架本身的配置,根本一行業務邏輯都沒有寫。

Java應用開發的顛覆者:Spring Boot

開發完成之後,我們還要考慮部署的問題,且不說部署到非常笨重的應用服務器,比如WebSphere, Weblogic或者JBoss,即使部署到Tomcat或者Jetty這種輕量級容器上面,我們要知道如何配置容器,如何修改配置文件等等。而且在多應用部署到同一個Tomcat的時候,經常會出現衝突。就算我們花了很大力氣解決了這些問題,程序部署成功之後,我們很難去了解這個程序的運行狀態。有可能我們要配置很多第三方工具來去知道這個應用程序運行狀態如何,有哪些參數,環境變量是什麼。儘管Spring幫我們解決了依賴注入的問題,簡化了一些MVC的流程,但是Spring框架本身集成了越來越多東西,導致其越來越難配置,維護成本成直線上升。

Java應用開發的顛覆者:Spring Boot

很多時候,Python, Ruby或者JavaScript程序員敲幾個命令安裝一些庫,然後簡單的敲幾行代碼,引入一些框架比如flask,然後直接一個簡單的API就可以跑起來了。Java程序員可能還在研究該使用Maven裡面的哪個庫,如何在代碼裡面進行配置。

但是現在 Spring Boot的出現讓這一情況有了很大的改觀。

它使用“習慣優於配置”(項目中存在大量的配置,此外還內置一個習慣性的配置,讓你無須手動進行配置)的理念讓你的項目快速運行起來。使用Spring Boot 很容易創建一個獨立運行(運行jar,內嵌Servlet 容器)、準生產級別的基於Spring框架的項目,使用Spring Boot 你可以不用或者只需要很少的Spring 配置。

【Spring Boot 核心功能】

  • 獨立運行的Spring 項目

Spring Boot 可以以jar 包的形式獨立運行,運行一個Spring Boot 項目只需通過java –jarxx.jar 來運行。

  • 內嵌Servlet 容器

Spring Boot 可選擇內嵌Tomcat、Jetty 或者Undertow ,這樣我們無須以war 包形式部署項目。

  • 提供starter 簡化Maven 配置

Spring 提供了一系列的starter pom 來簡化Maven 的依賴加載,例如,當你使用了spring-boot-starter-web 時,會自動加入如下圖所示的依賴包。

Java應用開發的顛覆者:Spring Boot

  • 自動配置Spring

Spring Boot 會根據在類路徑中的jar 包、類,為jar 包裡的類自動配置Bean,這樣會極大地減少我們要使用的配置。當然,Spring Boot 只是考慮了大多數的開發場景,並不是所有的場景,若在實際開發中我們需要自動配置Bean,而Spring Boot 沒有提供支持,則可以自定義自動配置。

  • 準生產的應用監控

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

  • 無代碼生成和xml 配置

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

Spring 4.x 提倡使用Java 配置和註解配置組合,而Spring Boot 不需要任何xml 配置即可實現Spring 的所有配置。

Java應用開發的顛覆者:Spring Boot

SpringBoot 不僅讓我們做Java開發變的簡單有效,更重要的是SpringBoot徹底顛覆了我們對Java開發的認識,讓我們第一次有了”原來Java開發可以這麼做” 的感覺。


分享到:


相關文章: