转自:[url]http://xugw.blog.sohu.com/117213986.html[/url]
Spring从2.5开始支持bean的自动扫描,简化了配置文件的书写。
但是怎么可以用context.getBean(BeanName)方法找到被Spring实例化的Bean呢?
规则1:如果被实例化的Bean的类的名称为Person,那么第一个字母小写
context.getBean("person");
规则2:如果被实例化的Bean的类的名称为PPerson,那么直接使用类名
context.getBean("[color=red]PP[/color]erson");
上述规则是通过使用 context.getBeansOfType([color=red]PP[/color]erson.class) 方法验证出来的
没有找到官方的文档对此进行解释!
另外用context.getBeansOfType(PPerson.class)时,如果[color=red]PPerson[/color]是接口[color=red]IPPerson[/color]的实现类
那么,查找的时候应该用context.getBeansOfType([color=red]IPP[/color]erson.class).直接种
context.getBeansOfType([color=red]PPerson.class[/color])返回的map只含有0个元素,也就是说找不到Bean实例。
Spring从2.5开始支持bean的自动扫描,简化了配置文件的书写。
但是怎么可以用context.getBean(BeanName)方法找到被Spring实例化的Bean呢?
规则1:如果被实例化的Bean的类的名称为Person,那么第一个字母小写
context.getBean("person");
规则2:如果被实例化的Bean的类的名称为PPerson,那么直接使用类名
context.getBean("[color=red]PP[/color]erson");
上述规则是通过使用 context.getBeansOfType([color=red]PP[/color]erson.class) 方法验证出来的
没有找到官方的文档对此进行解释!
另外用context.getBeansOfType(PPerson.class)时,如果[color=red]PPerson[/color]是接口[color=red]IPPerson[/color]的实现类
那么,查找的时候应该用context.getBeansOfType([color=red]IPP[/color]erson.class).直接种
context.getBeansOfType([color=red]PPerson.class[/color])返回的map只含有0个元素,也就是说找不到Bean实例。