Spring4 @Qualifier("xxx")和@Component("xxx")定义的ID
问题描述:
Spring 4 单独@Component配置的类的Bean的ID默认为类名首字母小写,@Qualifier(“xxx”)和@Component(“xxx”)放在一个类上都可以自
定义Bean的ID,那么问题来了,这两有什么区别么?
书上说@Qualifier("XXX")定义的是标识符,是不是就是ID啊,还是说ID是ID,标识符是标识符,都是用来标记一个Bean的啊
答
@Qualifier("XXX")
指当多个类符合这个接口的情况下,指定XXX为查找的bean,这里的XXX不是说@Qualifier的那个唯一,而是找XXX这个唯一的实现类
@Component("xxx") 仅仅是定义一个组件,xxx为bean的唯一id
id就是唯一的意思。