<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          帶你進(jìn)入Spring Boot世界

          共 3587字,需瀏覽 8分鐘

           ·

          2021-03-31 14:55

          進(jìn)入Spring Boot世界

          Java(面向?qū)ο缶幊陶Z言)經(jīng)過30多年的發(fā)展,產(chǎn)生了非常多的優(yōu)秀框架。

          Spring(為解決企業(yè)應(yīng)用程序開發(fā)的復(fù)雜性而創(chuàng)建的框架)曾是最受歡迎的Java框架之一,但隨著Node、Ruby、Groovy、PHP等腳本語言的蓬勃發(fā)展,使用Spring開發(fā)應(yīng)用就顯得煩瑣了,因?yàn)樗褂昧舜罅康腦ML配置文件,配置煩瑣,整合不易,開發(fā)和部署效率低下。

          這時急切需要一種新的能解決這些問題的快速開發(fā)框架,于是Pivotal Software公司在2013開始了Spring Boot的研發(fā)

          Spring Boot的設(shè)計初衷是解決Spring各版本配置工作過于繁重的問題,簡化初始搭建流程、降低開發(fā)難度,使開發(fā)人員只需要專注應(yīng)用程序的功能和業(yè)務(wù)邏輯實(shí)現(xiàn),而不用在配置上花費(fèi)太多時間。

          Spring Boot使用“默認(rèn)大于配置”的理念,提供了很多已經(jīng)集成好的方案,以便程序員在開發(fā)應(yīng)用程序時能做到零配置或極簡配置。同時,為了不失靈活性,它也支持自定義操作。

          過去經(jīng)常會有這樣的一種場景:一個初學(xué)者花了半個月時間,看了幾本Spring編程書,掌握了最基本的理論知識,但在實(shí)際著手開發(fā)時,往往被攔截在初始環(huán)境配置上,可能花上幾天時間也配置不好環(huán)境。

          筆者曾經(jīng)就遇到一個這樣的開發(fā)人員,他竟然花費(fèi)了一個月時間也沒配置好初始環(huán)境。這是難以想象的,面對這種煩瑣、效率低下的配置和開發(fā)工作,甚至?xí)屓藨岩勺约旱哪芰Α_@最終讓人非常痛苦,不少人會痛苦地放棄,而能堅持下來的開發(fā)人員在開發(fā)新項目時依然會面臨大量煩瑣的配置工作。

          而使用Spring Boot的體驗(yàn)則完全不一樣,基本是“開箱即用”。

          Spring Boot應(yīng)用程序的開發(fā)流程如下:

          (1)安裝JDK(Java Development Kit)開發(fā)環(huán)境和IDE工具(如:Eclipse、IDEA)。

          (2)在開發(fā)工具中,通過項目管理軟件Maven(或Gradle)來構(gòu)建和管理項目。

          要使用某個JAR(Java ARchive)包,只需要直接在pom.xml(Gradle項目則是build.gradle)文件中按照約定格式編寫,Maven會自動從倉庫中下載并配置JAR包依賴,隨后可以直接在類中使用它提供的方法。

          Spring Boot內(nèi)置了50多種Starter,以便快速配置和使用。比如,要使用Email服務(wù),只需要添加“spring-boot-starter-mail”依賴,然后直接調(diào)用JavaMailSender接口發(fā)送郵件。

          (3)在開發(fā)過程中,可以直接在IDE工具中運(yùn)行和測試,而且不需要搭建Tomcat服務(wù)器環(huán)境,因?yàn)镾pring Boot已經(jīng)內(nèi)置好了。

          (4)在開發(fā)完成后,用IDE工具將程序直接編譯成JAR包,即可直接在Java運(yùn)行環(huán)境JRE(Java Runtime Environment)下獨(dú)立運(yùn)行。如果要在特定的或多環(huán)境下部署運(yùn)行程序,也可以將其打包成WAR(Web存檔文件,包含Web應(yīng)用程序的所有內(nèi)容)包。

          可見,Spring Boot幫我們省去了煩瑣的配置工作,開發(fā)人員只需要專注業(yè)務(wù)邏輯開發(fā)即可。

          用一句話來說明,即Spring Boot是Spring框架的擴(kuò)展和自動化。

          Spring、Spring Boot、Spring Cloud的關(guān)系

          1.Spring

          Spring框架(為解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的框架)為開發(fā)Java應(yīng)用程序提供了全面的基礎(chǔ)架構(gòu)支持。它提供了依賴注入和“開箱即用”的一些模塊,如:Spring MVC、Spring JDBC、Spring Security、Spring AOP、Spring IoC、Spring ORM、Spring Test。這些模塊大大地縮短了應(yīng)用程序的開發(fā)時間,提高了開發(fā)應(yīng)用程序的效率。

          在Spring出現(xiàn)之前,如果要進(jìn)行Java Web開發(fā),則非常復(fù)雜,例如,若需要將記錄插入數(shù)據(jù)庫,則必須編寫大量的代碼來實(shí)現(xiàn)打開、操作和關(guān)閉數(shù)據(jù)庫。而通過使用Spring JDBC模塊的JDBCTemplate,只需要進(jìn)行數(shù)據(jù)操作即可,打開和關(guān)閉交由Spring管理。而且實(shí)現(xiàn)這些數(shù)據(jù)操作只需要配置幾行代碼。

          2.Spring Boot

          Spring Boot是Spring框架的擴(kuò)展和自動化,它消除了在Spring中需要進(jìn)行的XML(EXtensible Markup Language)文件配置(若習(xí)慣XML配置,則依然可以使用),使得開發(fā)變得更快、更高效、更自動化。

          3.Spring Cloud

          Spring Cloud是一套分布式服務(wù)治理框架,它本身不提供具體功能性的操作,只專注于服務(wù)之間的通信、熔斷和監(jiān)控等。因此,需要很多組件來共同支持一套功能。Spring Cloud主要用于開發(fā)微服務(wù)。

          微服務(wù)是可以獨(dú)立部署、水平擴(kuò)展、獨(dú)立訪問的服務(wù)單元。Spring Cloud是這些微服務(wù)的“CTO(Chief Technical Officer)”,它提供各種方案來維護(hù)整個生態(tài)。

          4.三者的關(guān)系

          從上面對三者的介紹中可以看出,Spring Boot其實(shí)是要依賴Spring的,并不是另起爐灶創(chuàng)建了一個全新的框架,它是Spring的自動化。Spring Cloud通過依賴Spring Boot來構(gòu)建微服務(wù)應(yīng)用。三者的關(guān)系如下圖所示。

          Spring Boot的特色

          1.使用簡單

          Spring Boot支持用注解的方式輕松實(shí)現(xiàn)類的定義與功能開發(fā)、無代碼生成和XML配置,新手入門極易上手。

          2.配置簡單

          Spring Boot根據(jù)在類路徑中的JAR和類自動配置Bean(豆子的意思,可以將其理解為Java類。Java的名字來源于程序員經(jīng)常喝的一種咖啡“爪哇”。這種咖啡是用“爪哇豆”磨出來的。所以,他們用“豆”來命名類。Java語言中的許多庫類名稱,多與咖啡有關(guān),如咖啡豆——JavaBeans、網(wǎng)絡(luò)豆——NetBeans和對象豆——ObjectBeans),能自動完成大量配置。同時,還支持用自定義的方式來配置。

          3.提供大量Starter簡化配置

          Spring Boot提供了大量的Starter來簡化依賴配置。例如,如果要使用Redis,則只需在pom.xml文件中加入操作Redis的Starter依賴“spring-boot-starter-data-redis”,然后Spring Boot會自動加載相關(guān)依賴包,并提供Redis的操作API(Application Programming Interface,應(yīng)用程序編程接口)。

          4.部署簡單

          Spring Boot可以在具備JRE(Java運(yùn)行環(huán)境)的環(huán)境中獨(dú)立運(yùn)行,它內(nèi)置了嵌入式的Tomcat、Jetty、Netty等Servlet(Server Applet)容器,項目不用被打包成WAR格式,可以直接以JAR包的方式運(yùn)行。

          5.與云計算天然集成

          非常流行的微服務(wù)開發(fā)框架Spring Cloud也是基于Spring Boot實(shí)現(xiàn)的。

          6.監(jiān)控簡單

          它提供了一整套的監(jiān)控、管理應(yīng)用程序狀態(tài)的功能模塊,包括監(jiān)控應(yīng)用程序的線程信息、內(nèi)存信息、應(yīng)用程序健康狀態(tài)等。

          為了方便讀者們學(xué)習(xí)Spring Boot,CSDN最新一期線上分享邀請到龍中華老師為大家直播分享“Spring Boot高效入門實(shí)戰(zhàn),歡迎大家關(guān)注學(xué)習(xí)。

          分享主題:Spring Boot高效入門實(shí)戰(zhàn)

          嘉賓簡介:龍中華

          著有《Spring Boot實(shí)戰(zhàn)派》(被臺灣地區(qū)引進(jìn))、《Spring Cloud實(shí)戰(zhàn)派》、《Flink實(shí)戰(zhàn)派》。10多年來一直在某一線互聯(lián)網(wǎng)公司擔(dān)任資深技術(shù)負(fù)責(zé)人。目前帶領(lǐng)多個研發(fā)團(tuán)隊,承擔(dān)系統(tǒng)的需求分析、架構(gòu)設(shè)計、項目管理,以及技術(shù)團(tuán)隊管理和培訓(xùn)等職責(zé)。

          直播時間:3月30日(星期二)晚8點(diǎn)

          直播入口:https://bfw.h5.xeknow.com/s/3KwHxy(或點(diǎn)擊文末閱讀原文

          分享摘要:暢銷書《Spring Boot實(shí)戰(zhàn)派》作者龍中華老師講解如何快速入門Spring Boot,掌握Spring Boot學(xué)習(xí)方法論。通過實(shí)戰(zhàn)案例帶你快速上手,知曉Spring Boot面試技術(shù)點(diǎn)和加分項,做到技術(shù)突飛猛進(jìn)。



          如果喜歡本文
          歡迎 在看留言分享至朋友圈 三連


           熱文推薦  





          ▼點(diǎn)擊閱讀原文,直達(dá)直播間~
          瀏覽 18
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲乱码国产乱码精品天美传媒 | 国产无码喷水 | 一区二区三区四区无码高清 | 国产一级在线播放 | 无码伦理一级一区久久 |