怎么用context获得Spring自动扫描和管理bean

如何用context获得Spring自动扫描和管理bean
转自:http://xugw.blog.sohu.com/117213986.html


Spring从2.5开始支持bean的自动扫描,简化了配置文件的书写。
但是怎么可以用context.getBean(BeanName)方法找到被Spring实例化的Bean呢?

规则1:如果被实例化的Bean的类的名称为Person,那么第一个字母小写
      context.getBean("person");

规则2:如果被实例化的Bean的类的名称为PPerson,那么直接使用类名
        context.getBean("PPerson");

上述规则是通过使用 context.getBeansOfType(PPerson.class) 方法验证出来的
没有找到官方的文档对此进行解释!



另外用context.getBeansOfType(PPerson.class)时,如果PPerson是接口IPPerson的实现类
那么,查找的时候应该用context.getBeansOfType(IPPerson.class).直接种
context.getBeansOfType(PPerson.class)返回的map只含有0个元素,也就是说找不到Bean实例。