springboot自定義自己的starter

2021-10-25 06:26:21 字數 3201 閱讀 9917

我這裡模擬的是乙個spring整合lettuce來操作redis的start

1. ***-spring-boot-start:空專案,pom中引入了autoconfiguraton專案

2. ***-spring-boot-autoconfiguraton:具體邏輯,暴露功能

!--將被@configurationproperties註解的類的屬性注入到元資料--

>

org.springframework.boot<

/groupid>

spring-boot-autoconfigure-processor<

/artifactid>

2.3.3

.release<

/version>

true

<

/optional>

<

/dependency>

<

!-- spring-data-redis --

>

org.springframework.data<

/groupid>

spring-data-redis<

/artifactid>

2.3.3

.release<

/version>

<

/dependency>

<

!-- lettuce-core --

>

io.lettuce<

/groupid>

lettuce-core<

/artifactid>

5.3.4

.release<

/version>

<

/dependency>

<

/dependencies>

@configuration

@conditionalonclass

(redisclient.

class

)public

class

redisconfiguration

@bean

public redisstandaloneconfiguration redisstandaloneconfiguration

(myredisproperties myredisproperties,redispassword redispassword)

@bean

public redispassword redispassword

(myredisproperties myredisproperties)

}

@component

@configurationproperties

(prefix =

"spring.lh.redis"

)public

class

myredisproperties

public

void

sethost

(string host)

public string getpassword()

public

void

setpassword

(string password)

public

intgetport()

public

void

setport

(int port)

}

@import

(value =

)@conditionalonclass

(redisoperations.

class

)public

class

myredisautoconfiguration

}

在resources中建立乙個meta-inf/spring.factories檔案

org.springframework.boot.autoconfigure.enableautoconfiguration=\

com.hui.myredisautoconfiguration

spring.lh.redis.host=

127.0

.0.1

spring.lh.redis.port=

6379

spring.lh.redis.password=admin

2.redisservice

public class redisservice 

}

3.springboot啟動類

public

class

}啟動執行後檢視redis

自定義Spring Boot裝配

spring boot自動配置會嘗試根據新增的jar依賴項自動配置spring應用程式。使用 componentscan 查詢您的bean 和使用 autowired 進行建構函式注入 自動配置類使用 conditionalonclass和 conditionalo singbean注釋,condi...

springboot自定義事務

1.在springboot專案中service的實現類可以通過註解 transactional新增事務 1.1 如果在service層用了try catch,在catch裡面再丟擲乙個 runtimeexception異常,這樣出了異常才會回滾 1.2你還可以直接在catch後面寫一句回滾 tran...

springboot自定義配置

1 說明 springboot的開發中,我們有些時候,需要將一些引數寫進yml配置,方便部署後修改,這時我們便可以使用springboot 提供的自定義配置的功能了 2 引入依賴 dependency groupid org.springframework.boot groupid artifact...