大家好,我是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.更多討論
今天的分享就到這里啦,歡迎大家點贊、轉(zhuǎn)發(fā)、留言、拍磚~
技能樹.IT修真院
“我們相信人人都可以成為一個工程師,現(xiàn)在開始,找個師兄,帶你入門,掌控自己學習的節(jié)奏,學習的路上不再迷?!?。
這里是技能樹.IT修真院,成千上萬的師兄在這里找到了自己的學習路線,學習透明化,成長可見化,師兄1對1免費指導。快來與我一起學習吧。