@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 + '}'; } }