Maven實(shí)現(xiàn)自己的starter依賴
1. 準(zhǔn)備工作
1.1 創(chuàng)建一個(gè)項(xiàng)目
打開(kāi)idea,創(chuàng)建一個(gè)springboot項(xiàng)目:
點(diǎn)擊next,添加兩個(gè)依賴:
點(diǎn)擊finsh,創(chuàng)建成功。
1.2 修改pom文件
將pom文件中的版本號(hào)改為 0.0.1
(非必須操作):
<groupId>com.example</groupId> <artifactId>test-spring-boot-starter</artifactId> <!-- <version>0.0.1-SNAPSHOT</version>--> <version>0.0.1</version>
將 <build>
標(biāo)簽的內(nèi)容都刪掉:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build>
因?yàn)檫@是一個(gè)我們自定義的一套sdk,并不需要打成jar包。
1.3 修改項(xiàng)目結(jié)構(gòu)
將啟動(dòng)類和測(cè)試類都刪掉,在resources目錄下創(chuàng)建一個(gè)目錄 META-INF
,在其中創(chuàng)建一個(gè)文件 spring.factories
:
2. 動(dòng)手實(shí)現(xiàn)
2.1 創(chuàng)建客戶端類
創(chuàng)建一個(gè)包 client
,在其中創(chuàng)建一個(gè)類 CalculateClient
:
@AllArgsConstructor @NoArgsConstructor @Slf4j public class CalculateClient { private String host; private String port; public String select(String id) { log.info("連接成功,地址為:{}", host); log.info("連接成功,端口為:{}", port); //返回查詢結(jié)果 return id; } }
2.2 創(chuàng)建配置類
創(chuàng)建一個(gè)包 config
,在其中創(chuàng)建一個(gè)類 CalculateConfig
:
@Configuration @ConfigurationProperties("calculate.client") @Data @ComponentScan public class ClientConfig { private String host; private String port; @Bean public CalculateClient calculateClient() { return new CalculateClient(host, port); } }
2.3 配置路徑
在我們剛剛創(chuàng)建的 spring.factories
文件中添加如下內(nèi)容:
#spring boot starter org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.example.testspringbootstarter.config.ClientConfig
2.4 下載到本地倉(cāng)庫(kù)
點(diǎn)擊 install
將項(xiàng)目下載到本地倉(cāng)庫(kù),這樣才能夠提供給別的項(xiàng)目使用:
3. 測(cè)試
在別的項(xiàng)目中引入我們剛剛開(kāi)發(fā)的依賴:
<dependency> <groupId>com.example</groupId> <artifactId>test-spring-boot-starter</artifactId> <version>0.0.1</version> </dependency>
然后在項(xiàng)目的 application.yml
文件中配置 host
和 port
:
然后在測(cè)試類中編寫一個(gè)測(cè)試方法:
@Autowired private CalculateClient calculateClient; @Test public void test(){ String result = calculateClient.select("1"); System.out.println(result); }
運(yùn)行測(cè)試方法,結(jié)果如下:
到此,一個(gè)簡(jiǎn)單的 starter
就開(kāi)發(fā)完畢了。
到此這篇關(guān)于Maven實(shí)現(xiàn)自己的starter依賴的文章就介紹到這了,更多相關(guān)Maven starter依賴內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
spring cloud gateway集成hystrix實(shí)戰(zhàn)篇
這篇文章主要介紹了spring cloud gateway集成hystrix實(shí)戰(zhàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07java Class.getSimpleName() 詳解及用法
這篇文章主要介紹了java Class.getSimpleName() 詳解及用法的相關(guān)資料,需要的朋友可以參考下2017-02-02SpringBoot Session共享實(shí)現(xiàn)圖解
這篇文章主要介紹了SpringBoot Session共享實(shí)現(xiàn)圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01springboot遠(yuǎn)程執(zhí)行服務(wù)器指令
這篇文章主要介紹了springboot遠(yuǎn)程執(zhí)行服務(wù)器指令,本例是java遠(yuǎn)程連接到服務(wù)器,去抓取查詢kubesphere中的etcd日志,并返回,需要的朋友可以參考下2023-09-09如何利用Vue+SpringBoot實(shí)現(xiàn)評(píng)論功能
簡(jiǎn)單的評(píng)論功能是指能夠在文章底下進(jìn)行評(píng)論,而且能夠?qū)υu(píng)論進(jìn)行回復(fù),下面這篇文章主要給大家介紹了關(guān)于如何利用Vue+SpringBoot實(shí)現(xiàn)評(píng)論功能的相關(guān)資料,需要的朋友可以參考下2023-06-06詳解使用SSM實(shí)現(xiàn)簡(jiǎn)單工作流系統(tǒng)之實(shí)現(xiàn)篇
這篇文章主要介紹了使用SSM實(shí)現(xiàn)簡(jiǎn)單工作流系統(tǒng)之實(shí)現(xiàn)篇,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12Spring?Initializr只能創(chuàng)建為Java?17版本以上的問(wèn)題解決
這篇文章主要給大家介紹了關(guān)于Spring?Initializr只能創(chuàng)建為Java?17版本以上問(wèn)題的解決辦法,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-01-01