Java應用開發的顛覆者:Spring Boot
有人說,Spring Boot的出現,讓Java迎來了又一春,它是Java應用開發的顛覆者,徹底改變了Java應用開發的模式。
以往我們做Spring應用開發,要知道配置哪些類來讓Hibernate和Spring一起工作,要知道如何配置view resolver來控制哪個模版進行檢視層的展示。經常寫了一大堆程式碼之後發現只是在處理Spring框架本身的配置,根本一行業務邏輯都沒有寫。
開發完成之後,我們還要考慮部署的問題,且不說部署到非常笨重的應用伺服器,比如WebSphere, Weblogic或者JBoss,即使部署到Tomcat或者Jetty這種輕量級容器上面,我們要知道如何配置容器,如何修改配置檔案等等。而且在多應用部署到同一個Tomcat的時候,經常會出現衝突。就算我們花了很大力氣解決了這些問題,程式部署成功之後,我們很難去了解這個程式的執行狀態。有可能我們要配置很多第三方工具來去知道這個應用程式執行狀態如何,有哪些引數,環境變數是什麼。儘管Spring幫我們解決了依賴注入的問題,簡化了一些MVC的流程,但是Spring框架本身集成了越來越多東西,導致其越來越難配置,維護成本成直線上升。
很多時候,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 時,會自動加入如下圖所示的依賴包。
自動配置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 的所有配置。
SpringBoot 不僅讓我們做Java開發變的簡單有效,更重要的是SpringBoot徹底顛覆了我們對Java開發的認識,讓我們第一次有了”原來Java開發可以這麼做” 的感覺。
歡迎工作一到五年的Java工程師朋友們加入Java架構開發:760940986 群內提供免費的Java架構學習資料(裡面有高可用、高併發、高效能及分散式、Jvm效能調優、Spring原始碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!