【坑】Spring中抽象⽗类属性注⼊,⼦类调⽤⽗类⽅法使⽤⽗类
注⼊属性
运⾏环境
idea 2017.1.1
spring 3.2.9.RELEASE
需求背景
需要实现⼀个功能,该功能有2个场景A、B,⼤同⼩异
抽象类的使用抽象⼀个抽象基类Base,实现了基本相同的⽅法BaseMethod,其中使⽤到Bean类中的⽅法
A、B分别继承Base,重写BaseMethod⽅法,在调⽤super.BaseMethod()的基础上补充⾃⼰的差异代码
错误实现与描述
1、在Base基类中注⼊Bean,使⽤@Resource注解,在⼦类A、B中调⽤super.BaseMethod()时,其中的Bean报空指针
——不能使⽤注解注⼊抽象类的属性?
2、在l中配置化注⼊Bean,配置bean时标明abstract="true",但部署报错
——没有在类中实现setter⽅法。。
3、实现了setter⽅法,部署成功,但是运⾏时Bean仍然报空指针
——
解决⽅法
1、在l中配置注⼊,配置bean时标明abstract="true"
<bean id="baseBean" class="com.shane.Base" abstract="true">
<property name="bean" ref="bean"></property>
</bean>
2、在Base中实现Bean的setter
3、在⼦类中也要实现setter。。
⽹上到的⼀个解决⽅法。。不知道有没有更好的。。总感觉这样写很坑。。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论