最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot實現(xiàn)根據(jù)條件切換注入不同實現(xiàn)類的示例代碼

 更新時間:2020年08月23日 09:38:18   作者:李昊軒的博客  
這篇文章主要介紹了Springboot實現(xiàn)根據(jù)條件切換注入不同實現(xiàn)類的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

最近有個一需求需要根據(jù)外界環(huán)境的屬性(操作系統(tǒng) || yml屬性 || 其他bean的狀態(tài)) 來實現(xiàn)啟動時注入兩套不同的實現(xiàn)類, 實現(xiàn)切換.

實現(xiàn)啟動時條件注入分2步:

第一步 使用@Conditional(參數(shù)為 True false條件實現(xiàn)類 需要你自己實現(xiàn))注解

@Conditional(RabbitMqCondition.class)
public class RabbitmqSMSMsgServiceImpl extends RabbitmqBasicMsgService {

//  @Autowired(required = false)
//  DefaultMQProducer producer;

  @Override
  public void sendToYourTaskQueue_Step2(PnsMessage pnsMessage) {
    // TODO rabbitmq 實現(xiàn)SMS消息推送
  }

}

第二步 實現(xiàn)自定義的條件類接口Condition 實現(xiàn)matches方法:

我這里判斷的是spring配置文件里的屬性, 其實可以判斷非常廣泛的東西, 并不只限于屬性.

public class RabbitMqCondition implements Condition {
  @Override
  public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) {
    return "rabbitmq".equals(conditionContext.getEnvironment().getProperty("mq.type"));
  }
}

application.yml 可以切換屬性

mq:
 type: rabbitmq

如果要是有多個符合條件的bean 利用@Service(value=“區(qū)別開來”)

到此這篇關于Springboot實現(xiàn)根據(jù)條件切換注入不同實現(xiàn)類的示例代碼的文章就介紹到這了,更多相關Springboot 根據(jù)條件切換注入不同實現(xiàn)類內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java實現(xiàn)三子棋小游戲

    Java實現(xiàn)三子棋小游戲

    這篇文章主要為大家詳細介紹了Java實現(xiàn)三子棋小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 在Spring Boot中從類路徑加載文件的示例

    在Spring Boot中從類路徑加載文件的示例

    創(chuàng)建Spring Boot Web應用程序時,有時有時需要從類路徑中加載文件;war和jar的加載文件格式是不一樣的,在下面,您將找到在WAR和JAR中加載文件的解決方案。
    2020-10-10
  • SpringAMQP消息隊列(SpringBoot集成RabbitMQ方式)

    SpringAMQP消息隊列(SpringBoot集成RabbitMQ方式)

    這篇文章主要介紹了SpringAMQP消息隊列(SpringBoot集成RabbitMQ方式),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Java簡易登錄注冊功能實現(xiàn)代碼解析

    Java簡易登錄注冊功能實現(xiàn)代碼解析

    這篇文章主要介紹了Java簡易登錄注冊功能實現(xiàn)代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • 詳解HandlerInterceptor處理器攔截器的用法

    詳解HandlerInterceptor處理器攔截器的用法

    這篇文章主要介紹了HandlerInterceptor處理器攔截器的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 記一次springboot服務凌晨無故宕機問題的解決

    記一次springboot服務凌晨無故宕機問題的解決

    這篇文章主要介紹了記一次springboot服務凌晨無故宕機問題的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Spring?MVC各種參數(shù)進行封裝的方法實例

    Spring?MVC各種參數(shù)進行封裝的方法實例

    這篇文章主要給大家介紹了關于Spring?MVC各種參數(shù)進行封裝的相關資料,SpringMVC內置多種數(shù)據(jù)類型轉換器,可以根據(jù)請求中的參數(shù)與后端控制器方法的參數(shù)的關系為我們實現(xiàn)簡單的數(shù)據(jù)封裝,需要的朋友可以參考下
    2023-06-06
  • java愛心代碼完整示例(脫單必備)

    java愛心代碼完整示例(脫單必備)

    最近看到個好玩的,就是用代碼實現(xiàn)愛心的形狀,對于不懂編程的人來說,這是一個很好的玩的東西,這篇文章主要給大家介紹了關于java愛心代碼的相關資料,需要的朋友可以參考下
    2023-07-07
  • springboot在服務器上的幾種啟動方式(小結)

    springboot在服務器上的幾種啟動方式(小結)

    這篇文章主要介紹了springboot在服務器上的幾種啟動方式(小結),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Java JDK17沒有源碼的問題及解決

    Java JDK17沒有源碼的問題及解決

    這篇文章主要介紹了Java JDK17沒有源碼的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11

最新評論

宿迁市| 赫章县| 满洲里市| 高要市| 隆回县| 永靖县| 孟村| 于田县| 大宁县| 泸西县| 微山县| 汉源县| 当涂县| 巩留县| 南靖县| 类乌齐县| 桑植县| 城市| 松溪县| 泸西县| 阳谷县| 东丰县| 垫江县| 莎车县| 新民市| 六安市| 湄潭县| 航空| 保德县| 三明市| 平南县| 丹凤县| 北京市| 涞水县| 海宁市| 望城县| 浠水县| 凌源市| 望江县| 灌云县| 长宁区|