UserManager umi = (UserManager) bf.getBean("userManagerImplement");  1
//UserManagerImplement umi = (UserManagerImplement) bf.getBean("userManagerImplement");  2测试的时候用1正确,用2报 类型转换异常 不知道为什么其中UserManager 是一个接口 UserManagerImplement 是对接口的实现UserManagerImplement的配置
<bean id="userManagerImplement"
class="com.manager.UserManagerImplement">
<property name="sessionFactory" ref="sessionFactory" />
<property name="logManager" ref="logManagerImplement" />
</bean>

解决方案 »

  1.   

    代理机制:默认是用的jdk动态代理,这个是需要用接口的,必须由接口来获取注入如果bean实现任何接口,会被默认为cglib代理,但是需要cglib.jar支持,可以直接用该类本身注入
      

  2.   

    2不用类型转化呀,不就是UserManagerImplement类型的吗?
      

  3.   

    Spring 就是注入的接口实现类,第一种情况当然是正确的,而第二种情况呢,因为它是注入的接口实现类,所以你用接口来转换肯定要报转换错误喽!我个人所见!