Spring Boot入門

大家好,我是IT修真院深圳分院第03期學員,一枚正直純潔善良的程序員。今天給大家分享一下,修真院官網(wǎng)JAVA(職業(yè))深度思考的擴展題目—— Spring Boot入門。

1.背景介紹

微服務(wù)是一種架構(gòu)風格,一個大型復雜軟件應(yīng)用由一個或多個微服務(wù)組成。系統(tǒng)中的各個微服務(wù)可被獨立部署,各個微服務(wù)之間是松耦合的,每個微服務(wù)僅關(guān)注于完成一個功能。使用Spring Cloud可以快速搭建微服務(wù),而Spring Cloud是基于Spring Boot的。

2.知識剖析

Spring Boot是由Pivotal團隊提供的基于Spring4 的條件注冊的一套快速開發(fā)整合包,其設(shè)計目的是用來簡化新Spring 應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進行配置,從而使開發(fā)人員不再需要定義樣板化的配置。 spring boot其實不是什么新的框架,它默認配置了很多框架的使用方式,就像maven整合了所有的jar包,SpringBoot 提供了基于spring 的各種starter(傳感器)的快速啟動。

Spring Boot將很多魔法帶入了Spring應(yīng)用程序的開發(fā)之中,其中最重要的是以下四個核心。

自動配置:針對很多Spring應(yīng)用程序常見的應(yīng)用功能,Spring Boot能自動提供相關(guān)配置

起步依賴:告訴Spring Boot需要什么功能,它就能引入需要的庫。

命令行界面:這是Spring Boot的可選特性,借此你只需寫代碼就能完成完整的應(yīng)用程序,無需傳統(tǒng)項目構(gòu)建。

Actuator:讓你能夠深入運行中的Spring Boot應(yīng)用程序,一探究竟。

3.常見問題

1.SpringBoot和Spring的關(guān)系?

2.起步依賴是什么?

3:SpringBoot中如何配置屬性?

4.解決方案

1.Spring Boot和Spring的關(guān)系?

spring就好比一個大型的電子元件生產(chǎn)公司,它生產(chǎn)的元件性能都很優(yōu)秀,但是坊間使用它的元件的作坊,拿到手之后 還得搞一些電焊,銜接,可能要花個10天半個月最后做成一個家電或者機器人。有一天這個公司就宣布,我們現(xiàn)在提供 了一些功能模塊,比如攝像頭傳感器,擴音器傳感器,壓力傳感器,它們都是統(tǒng)一的usb接口的,只需要插線連接就能使用了。

Spring Boot沒有引入任何形式的代碼生成,而是利用了Spring 4的條件化配置特性, 以及Maven和Gradle提供的傳遞依賴解析,以此實現(xiàn)Spring應(yīng)用程序上下文里的自動配置。 簡而言之,從本質(zhì)上來說,Spring Boot就是Spring,它做了那些沒有它你自己也會去做的Spring Bean配置。有了Spring Boot,你不用再寫這些樣板配置了,可以專注于應(yīng)用程序的邏輯, 這些才是應(yīng)用程序獨一無二的東西。

2.起步依賴是什么?

我們把以Spring-boot-starter-xx作為名字的jar包稱為Spring Boot的起步依賴。這一類的依賴是spring提供的針對日常企業(yè)應(yīng)用開發(fā)各種場景的自動依賴模塊,就像是一個工具箱,裝好了你需要的各種工具(依賴),“開箱即用”使得開發(fā)各種場景的spring應(yīng)用更加迅捷。

3.SPRINGBOOT中如何配置屬性?

實際上,Spring Boot應(yīng)用程序有多種設(shè)置途徑。Spring Boot能從多種屬性源獲得屬性,包括 如下幾處。?

(1) 命令行參數(shù)

?(2) java:comp/env里的JNDI屬性

?(3) JVM系統(tǒng)屬性

?(4) 操作系統(tǒng)環(huán)境變量?

(5) 隨機生成的帶random.*前綴的屬性(在設(shè)置其他屬性時,可以引用它們,比如${random. long})

(6) 應(yīng)用程序以外的application.properties或者appliaction.yml文件?

(7) 打包在應(yīng)用程序內(nèi)的application.properties或者appliaction.yml文件?

(8) 通過@PropertySource標注的屬性源?

(9) 默認屬性 這個列表按照優(yōu)先級排序,也就是說,任何在高優(yōu)先級屬性源里設(shè)置的屬性都會覆蓋低優(yōu)先 級的相同屬性。例如,命令行參數(shù)會覆蓋其他屬性源里的屬性。

5.編碼實戰(zhàn)

6.擴展思考

SpringBoot啟動原理?


7.參考文獻

參考一:SpringBoot實戰(zhàn)干貨系列

參考二:《SpringBoot揭秘:快速構(gòu)建微服務(wù)體系》


8.更多討論




undefined_騰訊視頻

PPT戳這里

今天的分享就到這里啦,歡迎大家點贊、轉(zhuǎn)發(fā)、留言、拍磚~

技能樹.IT修真院

“我們相信人人都可以成為一個工程師,現(xiàn)在開始,找個師兄,帶你入門,掌控自己學習的節(jié)奏,學習的路上不再迷?!?。

這里是技能樹.IT修真院,成千上萬的師兄在這里找到了自己的學習路線,學習透明化,成長可見化,師兄1對1免費指導。快來與我一起學習吧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容