@Autowired根据以下几个条件进行注入:
根据类型注入:当有多个类型兼容的Bean时,Spring会根据所需的类型进行注入。
根据名称注入:当有多个名称相同的Bean时,可以使用@Qualifier注解指定要注入的Bean的名称。
根据限定符注入:使用@Qualifier注解指定限定符,可以根据限定符注入指定的Bean。
根据主要的Bean注入:使用@Primary注解指定一个Bean为主要的Bean,当有多个兼容的Bean时,会优先选择主要的Bean进行注入。
根据自定义条件注入:可以使用自定义的条件注解,通过实现Condition接口来指定注入条件,只有满足条件的Bean才会进行注入。
总之,@Autowired注解可以根据类型、名称、限定符、主要的Bean以及自定义条件来进行注入。