一篇文章帶你了解Java SpringBoot四大核心組件
一、Spring Boot Starter
1.1 Starter的應(yīng)用示例
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency>
在我們的Spring Boot項(xiàng)目種的POM文件中總會(huì)看到這兩種依賴:
spring-boot-starter-xxx 和 xxx-spring-boot-starter。
這就是spring boot的四大組件之一的starter。
官方提供的starter是這樣的:spring-boot-starter-xxx 非官方的starter是這樣的:xxx-spring-boot-starter
總結(jié):
a、Starter 幫我們封裝好了所有需要的依賴,避免我們自己添加導(dǎo)致的一些Jar包沖突或者缺少包的情況;
b、Starter幫我們自動(dòng)注入了需要的Bean實(shí)例到Spring 容器中,不需要我們手動(dòng)配置(這個(gè)可以說(shuō)是starter干的,實(shí)際上并不是,這里埋個(gè)坑,下面解答);
所以: starter包的內(nèi)容就是pom文件,就是一個(gè)依賴傳遞包。
二、Spring Boot Autoconfigure
2.1 autoconfigure 簡(jiǎn)介
autoconfigure在我們的開(kāi)發(fā)中并不會(huì)被感知,因?yàn)樗谴嬖谂c我們的starter中的。所以我們的每個(gè)starter都是依賴autoconfigure的:
我們也可以把a(bǔ)utoconfig的內(nèi)容直接放在starter包里邊。
autoconfigure內(nèi)容是配置Bean實(shí)例到Spring容器的實(shí)際代碼實(shí)現(xiàn)包,然后提供給starter依賴。所以說(shuō)總結(jié)1的b項(xiàng)所說(shuō)的配置Bean實(shí)例到Spring容器中實(shí)際是autoconfigure做的,因?yàn)槭莝tarter依賴它,所以也可以說(shuō)是starter干的。
所以:autocinfigure是starter體現(xiàn)出來(lái)的能力的代碼實(shí)現(xiàn)
三、Spring Boot CLI
Spring Boot CLI是一個(gè)命令行使用Spring Boot的客戶端工具;主要功能如下:
運(yùn)行g(shù)roovy腳本
打包groovy文件到j(luò)ar
初始化Spring Boot項(xiàng)目
可以命令行直接執(zhí)行g(shù)roovy腳本
四、Spring Boot actuator
actuator是Spring Boot的監(jiān)控插件,本身提供了很多接口可以獲取當(dāng)前項(xiàng)目的各項(xiàng)運(yùn)行狀態(tài)指標(biāo)。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
management: endpoint: health: ## 開(kāi)啟健康監(jiān)控端點(diǎn) enabled: true beans: ## 開(kāi)啟Bean實(shí)例監(jiān)控端點(diǎn) enabled: true
瀏覽器訪問(wèn)(查看監(jiān)控信息地址):http://localhost:9500/actuator
查看健康情況
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
淺談在springboot中使用定時(shí)任務(wù)的方式
今天給大家?guī)?lái)的是關(guān)于Java的相關(guān)知識(shí),文章圍繞著在springboot中使用定時(shí)任務(wù)的方式展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06Java讀取Excel、docx、pdf和txt等文件萬(wàn)能方法舉例
在Java開(kāi)發(fā)中處理文件是常見(jiàn)需求,本文以實(shí)際代碼示例詳述如何使用ApachePOI庫(kù)及其他工具讀取和寫入Excel、Word、PDF等文件,介紹了ApachePOI、ApachePDFBox和EasyExcel等庫(kù)的使用方法,幫助開(kāi)發(fā)者有效讀取不同格式文件,需要的朋友可以參考下2024-09-09java編程實(shí)現(xiàn)兩個(gè)大數(shù)相加代碼示例
這篇文章主要介紹了java編程實(shí)現(xiàn)兩個(gè)大數(shù)相加代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。2017-12-12idea 創(chuàng)建 maven web 工程流程(圖文教程)
這篇文章主要介紹了idea 創(chuàng)建 maven web 工程流程(圖文教程),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05Java?Socket實(shí)現(xiàn)文件發(fā)送和接收功能以及遇到的Bug問(wèn)題
這篇文章主要介紹了Java?Socket實(shí)現(xiàn)文件發(fā)送和接收功能以及遇到的Bug問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08Spring+SpringMVC+MyBatis深入學(xué)習(xí)及搭建(一)之MyBatis的基礎(chǔ)知識(shí)
這篇文章主要介紹了Spring+SpringMVC+MyBatis深入學(xué)習(xí)及搭建(一)之MyBatis的基礎(chǔ)知識(shí),需要的朋友可以參考下2017-05-05Spring整合TimerTask實(shí)現(xiàn)定時(shí)任務(wù)調(diào)度
這篇文章主要介紹了Spring整合TimerTask實(shí)現(xiàn)定時(shí)任務(wù)調(diào)度的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12