spring 或者spring boot 調(diào)整bean加載順序的方式
spring 或者spring boot 調(diào)整bean 的加載順序
接下來講解三種調(diào)整類加載順序的方式:
1、使用@Order調(diào)整配置類加載順序
@Configuration
@Order(1)
public class ConfigA {
@Bean
public ServiceA serviceA(){
System.out.println("ConfigA 執(zhí)行");
return new ServiceA();
}
}
@Configuration
@Order(2)
public class ConfigB {
@Bean
public ServiceB serviceB(){
System.out.println("ConfigB 執(zhí)行");
return new ServiceB();
}
}2、使用@Order調(diào)整配置類加載順序
@Configuration
public class Config {
@Bean
@Order(1)
public CListener bListener(){
return new CListener();
}
@Bean
@Order(2)
public DListener dListener(){
return new DListener();
}
}3、實現(xiàn)ordered 接口:
public class AListener implements ApplicationListener<ContextRefreshedEvent>, Ordered {
private CuratorManagerComponent curatorManagerComponent;
@Override
public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
logger.info("AListener 執(zhí)行了。");
}
@Override
public int getOrder() {
return HIGHEST_PRECEDENCE;
}
}
public class BListener implements ApplicationListener<ContextRefreshedEvent>, Ordered {
private CuratorManagerComponent curatorManagerComponent;
@Override
public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
logger.info("BListener 執(zhí)行了。");
}
@Override
public int getOrder() {
return HIGHEST_PRECEDENCE + 2;
}
}
@Configuration
public class Config {
@Bean
public BListener bListener(){
return new BListener();
}
@Bean
public AListener aListener(){
return new AListener();
}
}對于實現(xiàn)ordered方式, 的需要在 getOrder 返回數(shù)值, 數(shù)值越小說明優(yōu)先級越高。
到此這篇關(guān)于spring 或者spring boot 調(diào)整bean加載順序的方式的文章就介紹到這了,更多相關(guān)spring boot bean加載順序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
非常全面的Java?SpringBoot點贊功能實現(xiàn)
但是這些功能再項目中是高頻出現(xiàn)的,如果直接操作數(shù)據(jù)庫的話,對數(shù)據(jù)庫壓力太大。那遇到這個問題怎么解決?這篇文章主要給大家介紹了關(guān)于Java?SpringBoot點贊功能實現(xiàn)?的相關(guān)資料,需要的朋友可以參考下2022-01-01
SpringCloud OpenFeign Post請求400錯誤解決方案
這篇文章主要介紹了SpringCloud OpenFeign Post請求400錯誤解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09
淺談Redis在微服務(wù)架構(gòu)中的幾種應(yīng)用場景
本文介紹在SpringCloud中使用Redis作為Pub/Sub異步通信、緩存或主數(shù)據(jù)庫和配置服務(wù)器的三種場景應(yīng)用。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05
SpringBoot整合POI實現(xiàn)Excel文件讀寫操作
EasyExcel是一個基于Java的、快速、簡潔、解決大文件內(nèi)存溢出的Excel處理工具,這篇文章主要介紹了SpringBoot整合POI實現(xiàn)Excel文件讀寫操作,首先準(zhǔn)備環(huán)境進(jìn)行一系列操作,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2023-10-10
java.io.IOException:?UT010029:?Stream?is?closed異常分析及解決
這篇文章主要給大家介紹了關(guān)于java.io.IOException:?UT010029:?Stream?is?closed異常分析及解決辦法,文中通過代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-02-02

