1. @Component注解如果没有指定bean name, 默认使用类名但类名的第一个字母小写作为bean name.
如下面的代码生死的bean的名字就是 testBean1,public class TestBean1 {}
但是如何你的bean的命名不规则,则可能出现例外,
如下面的代码生成的bean的名字不是jDTestBean,而是JDTestBean.
@Component
public class JDTestBean {
}
2. <<Spring实战>>这本书提到使用@Component+@Qualifier("xxxx")可以指定自定义限定符,
而不是使用beanId作为限定符。这样在需要注入的地方使用@Autowired+@Qualifier("xxxx")来注入Bean,
这主要是为了解决有多个同一类型的Bean注入时Spring不知道使用哪个Bean来注入的问题。
但个人还是倾向与使用@Component("xxxx")来指定Bean Name. 这样可以自由使用
@Autowired+@Qualifier("xxxx")来注入Bean
或者
ApplicationContext ac.getBean("xxxx")得到bean,
而前者使用ac.getBean会抛出异常。