为了账号安全,请及时绑定邮箱和手机立即绑定

spring的getbean方法返回的是object类型,为什么不能用类来接收

spring的getbean方法返回的是object类型,为什么不能用类来接收

fenkapian 2016-09-12 12:37:48
TestBiz biz = (TestBiz) ctx.getBean("testBiz"); 这句报错类型转换错误,用ITestBiz接就没问题 下面的是spring配置文件,其中NewDao是TestBiz继承自的接口ITestBiz的实现类 <bean id="testDao" class="dao.NewDao"></bean> <bean id="testBiz" class="biz.TestBiz" scope="singleton"> <!--  <property name="dao"> --> <!--  <ref bean="testDao"/> --> <!--  </property> --> <constructor-arg index="0"> <ref bean="testDao"/> </constructor-arg> <constructor-arg index="1" type="java.lang.String"> <value>123</value>   </constructor-arg> </bean>
查看完整描述

1 回答

?
HansonQ

TA贡献223条经验 获得超56个赞

估计是你没有注意到。他是可以的,其实容器你可以理解为是一个map<String,Objct> 其中的key 就是你写的id value就是一个Object。想直接获取的话可以使用getBean的重载方法,getBean(String args0,Class clazz);

TestBiz biz = ctx.getBean("testBiz",TestBiz.class);


查看完整回答
1 反对 回复 2016-09-13
  • fenkapian
    fenkapian
    Exception in thread "main" org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'testBiz' must be of type [biz.TestBiz], but was actually of type [com.sun.proxy.$Proxy0] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:361) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1121) at test.Test.main(Test.java:20) 还是报错啊
  • 1 回答
  • 2 关注
  • 3916 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信