自动装配-@Autowired&@Qualifier&@Primary

@Autowired,自动注入:

1、默认按照类型在容器在容器中查找组件:applicationContext.getBean(XXXX.class)

2、如果找到了多个相同类型的组件,再以属性名作为id到容器中查找:applicationContext.getBean("xXXX")

3、使用@Qualifier("xXXX")来指定id,而不是用属性名

4、自动装配默认要赋好值,如果无法赋值,则报错。通过@Autowired里的required = false来设定赋值失败不会报错

5、可在@Bean上添加@Primary,表示如果有多个相同类型的bean,Spring会默认装配这个bean

@Service
public class BookService {

    
    @Qualifier("bookDAO")
    @Autowired(required = false)
    private BookDAO bookDAO;

    @Override
    public String toString() {
        return "BookService{" +
                "bookDAO=" + bookDAO +
                '}';
    }
}
原文地址:https://www.cnblogs.com/AyasatoMayoi/p/10922940.html