<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### @Autowired用法 * 注解構造方法 * setter方法注解 * @Autowired注解可以用在類的任何方法 ``` 1.注解構造方法 @Component public class UserDao { private IRedisService redisService; @Autowired public UserDao(RedisServiceImpl redisService) { this.redisService = redisService; } } 2.setter方法注解 @Component public class UserDao { private IRedisService redisService; @Autowired public void setRedisService(IRedisService redisService) { this.redisService = redisService; } } 3.@Autowired注解可以用在類的任何方法 ``` ### @Autowired裝配過程 1. @Autowired注解裝配時,假如有且只有一個bean匹配依賴需求的話,那么這個bean將會被裝配進來; 2. 如果沒有匹配的bean,那么在應用上下文創建的時候,Spring會拋出一個異常。為了避免異常的出現,你可以將@Autowired的required屬性設置為false;將required屬性設置為false時,Spring會嘗試執行自動裝配,但是如果沒有匹配的bean的話,Spring將會讓這個bean處于未裝配的狀態。但是,把required屬性設置為false時,你需要謹慎對待。如果在你的代碼中沒有進行null檢查的話,這個處于未裝配狀態的屬性有可能會出現NullPointerException; ``` @Component public class UserDao { @Autowired(required=false) private IRedisService redisService; } ``` 3. 如果有多個bean都能滿足依賴關系的話,Spring將會拋出一個異常,表明沒有明確指定要選擇哪個bean進行自動裝配; ### @Inject @Autowired是Spring特有的注解。如果你不愿意在代碼中到處使用Spring的特定注解來完成自動裝配任務的話,那么你可以考慮將其替換為@Inject: ``` @Component public class UserDao { @Inject private IRedisService redisService; } ``` 說明:@Inject注解來源于Java依賴注入規范,該規范同時還為我們定義了@Named注解。在自動裝配中,Spring同時支持@Inject和@Autowired。盡管@Inject和@Autowired之間有著一些細微的差別,但是在大多數場景下,它們都是可以互相替換的 ### 自動裝配的歧義性 1. @Autowired自動裝配時如果有多個實例,無法確定唯一值,則spring會拋出異常; 2. 指定首選項@Primary; 3. 使用限定符@Qualifier指定要注入的beanId; 說明:@Qualifier的優先級將高于@Primary
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看