问题描述
各位大虾:小弟,有一问题请教:spring管理bean,继承是怎么实现的?意思就是:BeanA,BeanBextendsBeanA;BeanA已经注入A,我想在BeanB中也能用A,该怎么实现?在容器里,只要BeanB使用parent属性,就报错!不知道parent属性具体该怎么使用,请各位不吝赐教!如果BeanB注入A,就运行正常,不报错!请问这是怎么回事啊?请各位朋友,附上个示例给小弟看看!
解决方案
解决方案二:
关注,帮顶!
解决方案三:
你用的哪种注入方法?继承注入?
解决方案四:
子类bean的属性parent="父beanID"如果要百分百可以调用父bean的话可以获得子类bean。然后强制转化---》(父类)子类bean如果父类配置模板形式就只能用上面的方式了。
解决方案五:
采用的是注解方式注入,
解决方案六:
可能之前没叙述清楚,现说明如下:我采用的是注解方式注入,若不继承:<beanid='BeanA'class=''/><beanid='BeanB'class=''/>分别注解注入属性,则加载xml正常,运行成功!若BeanBextendsBeanAxml配置:<beanid='BeanB'class=''parent='BeanA'/>此时xml加载出错,运行出错!请问这是什么原因啊?我想BeanB可使用BeanA已经注入的属性,怎么使用呢?
解决方案七:
帮顶!!帮顶!!
解决方案八:
注入B,不要管A,你面对的只有B了!
解决方案九:
个人认为:ApplicationContext(不是BeanFactory)会预实例化所有singleton的bean。因此很重要的一点是:如果你只想把一个(父)bean定义当作模板使用,而它又指定了class属性,那么你就得将'abstract'属性设置为'true'!按照楼主的的继承方式!你必须降BEANA的abstract设为true;