@Autowired根據以下幾個條件進行注入:
根據類型注入:當有多個類型兼容的Bean時,Spring會根據所需的類型進行注入。
根據名稱注入:當有多個名稱相同的Bean時,可以使用@Qualifier注解指定要注入的Bean的名稱。
根據限定符注入:使用@Qualifier注解指定限定符,可以根據限定符注入指定的Bean。
根據主要的Bean注入:使用@Primary注解指定一個Bean為主要的Bean,當有多個兼容的Bean時,會優先選擇主要的Bean進行注入。
根據自定義條件注入:可以使用自定義的條件注解,通過實現Condition接口來指定注入條件,只有滿足條件的Bean才會進行注入。
總之,@Autowired注解可以根據類型、名稱、限定符、主要的Bean以及自定義條件來進行注入。