我這裡模擬的是乙個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...