您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎么實現自己的spring boot starter,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
前言
在使用spring boot開發的時候,我們有時候想要把自己的代碼打包成類似spring-boot-starter-web的樣式來導入到自己的中央倉庫,然后其他項目就可以引用類似springboot那樣的引用了,下面我們就實現一個類似的項目。
1.新建一個spring boot 項目,取名為mybootspringbootstarter,groupId和artifactId如下所示
<groupId>com.my.boot</groupId> <artifactId>myboot-spring-boot-starter</artifactId> <version>1.0-SNAPSHOT</version>
這里需要注意的是為了區分springboot自己的jar,默認規則的話我們把自己的取名放在spring-boot-starter前面,如上面代碼所示。
2.引入springboot相關jar包來做基礎處理
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.1.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> <version>2.1.0.RELEASE</version> </dependency> <!--生成配置文件元數據結構--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <version>2.1.2.RELEASE</version> </dependency>
spring-boot-starter是核心包,必須添加。
3.添加一個可配置的properties類,用于可配置屬性的加載
@ConfigurationProperties(prefix = "com.myboot") public class MyBootProperties { /** * 名稱 */ private String name; /** * 是否啟用 */ private boolean enable; ....省略get/set方法 }
4.定義一個類來使用properties類的屬性引用
public class MyService { /** * 名稱 */ private String name; /** * 是否啟用 */ private boolean enable; public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean isEnable() { return enable; } public void setEnable(boolean enable) { this.enable = enable; } public void print(){ System.out.println("name:" + this.name + "----enable:" + this.enable); } }
5.定義好以上類后,我們如何像bean一樣使用呢?那么我們就需要把它定義為一個bean
@Configuration @EnableConfigurationProperties(MyBootProperties.class) public class MyBootAutoConfiguration { @Bean public MyService myService(MyBootProperties myBootProperties){ MyService myService = new MyService(); myService.setName(myBootProperties.getName()); myService.setEnable(myBootProperties.isEnable()); return myService; } }
6.怎么樣才能在其他架構中引入我們定義的bean呢?我們需要在resources/META-INFO下定義spring.factories文件
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.my.boot.configure.MyBootAutoConfiguration
這個是spring的標準格式,spring的加載器會自動去尋找這個文件下的所有配置實現自動的注入。
通過以上步驟就完成了基本starter的搭建,最后通過maven clean install就可以生成一個jar了在倉庫中,我們可以在另外的項目中像引入springboot相關的jar引入了。
關于“怎么實現自己的spring boot starter”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。