<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Spring @Bean注解用法

      在Spring框架中,當一個@Bean方法的入參需要注入依賴時(如你示例中的DbStateMachineConfig),其依賴解析邏輯遵循Spring的依賴注入規則,核心是“按類型匹配,按名稱兜底”。

      1. 基礎邏輯:按類型匹配(byType)

      Spring會先根據入參的類型(DbStateMachineConfig 在容器中查找匹配的Bean。

      • 如果容器中只有一個類型為DbStateMachineConfig或其子類的Bean(因為子類是父類的“is-a”關系,符合類型匹配),Spring會直接將該Bean注入到方法參數中。
      • 例如:如果有一個MyDbStateMachineConfig extends DbStateMachineConfig,且它被注冊為Bean,那么Spring會認為它是DbStateMachineConfig類型的候選者,直接注入。

      2. 多個子類Bean的情況:類型沖突與解決

      如果容器中存在多個DbStateMachineConfig的子類Bean(即多個候選者),僅按類型無法唯一確定,此時Spring會拋出NoUniqueBeanDefinitionException異常。

      需要通過以下方式手動指定具體使用哪個Bean:

      方式1:使用@Primary指定優先Bean

      在多個子類Bean中,給需要優先注入的子類Bean添加@Primary注解。當類型匹配存在多個候選者時,Spring會優先選擇被@Primary標注的Bean。

      示例:

      // 子類1:被@Primary標注,優先注入
      @Bean
      @Primary
      public class FirstDbConfig extends DbStateMachineConfig { ... }
      
      // 子類2:不標注@Primary
      @Bean
      public class SecondDbConfig extends DbStateMachineConfig { ... }
      
      // 此時,stateMachineEngine方法會注入FirstDbConfig
      

      方式2:使用@Qualifier指定Bean名稱

      通過@Qualifier注解明確指定需要注入的Bean的名稱(默認是類名首字母小寫,如firstDbConfigsecondDbConfig),實現“按名稱匹配”。

      示例:

      // 子類1:指定Bean名稱為"firstConfig"
      @Bean("firstConfig")
      public class FirstDbConfig extends DbStateMachineConfig { ... }
      
      // 子類2:指定Bean名稱為"secondConfig"
      @Bean("secondConfig")
      public class SecondDbConfig extends DbStateMachineConfig { ... }
      
      // 在入參上通過@Qualifier指定名稱
      @Bean
      public ProcessCtrlStateMachineEngine stateMachineEngine(
          @Qualifier("firstConfig") DbStateMachineConfig dbStateMachineConfig
      ) {
          ...
      }
      // 此時,注入的是名稱為"firstConfig"的FirstDbConfig
      

      總結

      • Spring默認按類型解析@Bean方法的入參依賴,子類Bean會被視為父類類型的候選者。
      • 多個子類Bean存在時,必須通過@Primary(指定優先)或@Qualifier(指定名稱)解決沖突,否則會拋出類型不唯一的異常。
      posted @ 2025-10-29 11:31  向著朝陽  閱讀(11)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产精品国产片在线观看| 野花香电视剧免费观看全集高清播放| 中文字幕国产精品资源| 色狠狠综合天天综合综合| 日本熟妇XXXX潮喷视频| 日本一区二区三区后入式| 国产精品国三级国产专区| 国产旡码高清一区二区三区| 性姿势真人免费视频放| 久久久久久久久毛片精品| 红杏av在线dvd综合| 色猫咪av在线网址| 日本视频一两二两三区| 少妇又爽又刺激视频| 欧美性xxxxx极品少妇| 亚洲国产精品毛片av不卡在线| 蜜臀av一区二区三区在线| 久久国产一区二区三区| 东港市| 久久久久影院色老大2020| 亚洲男人第一无码av网站| 亚洲午夜精品国产电影在线观看| 一区二区三区av天堂| 国产精品不卡一区二区视频| 97久久超碰国产精品2021| 国产精品一区二区三区黄| 国产区精品视频自产自拍| 精品国产肉丝袜在线拍国语| 久久精品国产中文字幕| 国产怡春院无码一区二区| 国产日韩精品一区二区在线观看播放| 亚洲最大成人免费av| 国产成年码av片在线观看| 色噜噜噜亚洲男人的天堂| 国产伦码精品一区二区| 亚洲午夜av一区二区| 午夜一区二区三区视频| 五月天丁香婷婷亚洲欧洲国产| 午夜av福利一区二区三区| 欧美激情一区二区| 免费视频爱爱太爽了|