spring自定義一個簡單的Starter啟動器
思路
1、導入Spring的依賴
2、創(chuàng)建類完成相關邏輯(starter的意義就是生成一系列對象,讓我們可以進行注入)
3、定義配置類完成Bean的初始化
4、設置spring.factories配置文件(原理如下)
實操:
1、創(chuàng)建項目

這個命名只是簡單命名的,正式定義starter還是以 spring-boot-starter-xxx 的方式命名的。
2、導入Spring的關鍵必要的依賴(想額外完成什么功能就導什么依賴)
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.4.5</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!--注解處理器:生成配置元數(shù)據-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
</dependencies>3、創(chuàng)建類完成相關邏輯
package com.test.MyCode;
public class HelloWorld {
public String sayHello(){
return "helloWord";
}
}4、定義配置類完成Bean的初始化
package com.test.config;
import com.test.MyCode.HelloWorld;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class HelloWordConfiguration {
@Bean
public HelloWorld helloWorld(){
return new HelloWorld();
}
}5、設置spring.factories配置文件

# Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.test.config.HelloWordConfiguration
6、打包安裝即可,導入依賴即可使用
關于starter啟動類的原理:
① Spring Boot 在啟動時會去classpath中尋找 resources/META-INF/spring.factories 文件,配置文件格式是key==value,value中配置了很多需要Spring加載的類
② 根據 spring.factories 配置加載 AutoConfigure 類
③ 根據 @Conditional 注解的條件,進行自動配置并將 Bean 注入 Spring Context
到此這篇關于spring自定義一個簡單的Starter啟動器的文章就介紹到這了,更多相關spring自定義Starter內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring中的@PropertySource注解源碼詳細解析
這篇文章主要介紹了Spring中的@PropertySource注解源碼詳細解析,@PropertySource注解,標注在配置類@Configuration上面,下面主要分析一下@PropertySource注解的處理過程,也就是怎么把配置信息從.properies文件放到environment中的,需要的朋友可以參考下2024-01-01
SpringBoot+slf4j線程池全鏈路調用日志跟蹤問題及解決思路(二)
本文主要給大家介紹如何實現(xiàn)子線程中的traceId日志跟蹤,本文通過封裝Callable為例給大家介紹的非常詳細,需要的朋友一起看看吧2021-05-05
Java 多線程并發(fā)AbstractQueuedSynchronizer詳情
這篇文章主要介紹了Java 多線程并發(fā)AbstractQueuedSynchronizer詳情,文章圍繞主題展開想象的內容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下2022-06-06
Spring Boot 整合單機websocket的步驟 附github源碼
websocket 是一個通信協(xié)議,通過單個 TCP 連接提供全雙工通信,這篇文章主要介紹了Spring Boot 整合單機websocket的步驟(附github源碼),需要的朋友可以參考下2021-10-10
SpringBoot+aop實現(xiàn)主從數(shù)據庫的讀寫分離操作
讀寫分離的作用是為了緩解寫庫,也就是主庫的壓力,但一定要基于數(shù)據一致性的原則,就是保證主從庫之間的數(shù)據一定要一致,這篇文章給大家介紹SpringBoot+aop實現(xiàn)主從數(shù)據庫的讀寫分離操作,感興趣的朋友跟隨小編一起看看吧2024-03-03

