如何實現(xiàn)自己的spring boot starter
前言
在使用spring boot開發(fā)的時候,我們有時候想要把自己的代碼打包成類似spring-boot-starter-web的樣式來導入到自己的中央倉庫,然后其他項目就可以引用類似springboot那樣的引用了,下面我們就實現(xiàn)一個類似的項目。
1.新建一個spring boot 項目,取名為mybootspringbootstarter,groupId和artifactId如下所示
<groupId>com.my.boot</groupId> <artifactId>myboot-spring-boot-starter</artifactId> <version>1.0-SNAPSHOT</version>
這里需要注意的是為了區(qū)分springboot自己的jar,默認規(guī)則的話我們把自己的取名放在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> <!--生成配置文件元數(shù)據(jù)結構--> <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.定義好以上類后,我們?nèi)绾蜗馼ean一樣使用呢?那么我們就需要把它定義為一個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的加載器會自動去尋找這個文件下的所有配置實現(xiàn)自動的注入。
通過以上步驟就完成了基本starter的搭建,最后通過maven clean install就可以生成一個jar了在倉庫中,我們可以在另外的項目中像引入springboot相關的jar引入了。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
@PathVariable注解,讓spring支持參數(shù)帶值功能的案例
這篇文章主要介紹了@PathVariable注解,讓spring支持參數(shù)帶值功能的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02
spring mvc 實現(xiàn)獲取后端傳遞的值操作示例
這篇文章主要介紹了spring mvc 實現(xiàn)獲取后端傳遞的值操作,結合實例形式詳細分析了spring mvc使用JSTL 方法獲取后端傳遞的值相關操作技巧2019-11-11

