1. 程式人生 > 其它 >@Autowired與@Resouce有什麼區別???

@Autowired與@Resouce有什麼區別???

@雖然Autowired的功能非常強大,但它也有一些缺點。例如,它與彈簧強耦合。如果它被其他框架(如jfinal)替換,該函式將失敗。@resource由jsr-250提供,jsr-250是Java標準,大多數框架都支援它。
此外,在某些場景中,@Autowired無法滿足要求,但@resource可以解決問題。

關注@Autowired和@resource之間的區別。

  1. @預設情況下,Autowired按型別自動組裝,而預設情況下,@resource按名稱自動組裝。
  2. @Autowired僅包含一個引數:required,用於指示是否啟用自動准入。預設值為true。@resource包含七個引數,其中最重要的兩個引數是name和type。
  3. @如果Autowired想要使用byname,它需要同時使用@qualifier。如果@resource指定名稱,則自動組裝將使用byname;如果指定了型別,則bytype將用於自動裝配。
  4. @Autowired可用於建構函式、方法、引數、成員變數和註釋,而@resource可用於類、成員變數和方法。
  5. @Autowired是spring定義的註釋,@resource是jsr-250定義的註釋。

此外,它們的裝配順序也不同。

@Autowired的組裝順序如下: