如何用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实例。

猜你喜欢

转载自panshaobinsb.iteye.com/blog/1742457