loney_wolf
轻点 别打脸
采纳率33.3%
2019-12-12 13:18

springboot抽象类中注入实例,使用@Autowired注解托管实例,注入实例为空获取不到值的问题。

https://blog.csdn.net/loney_wolf/article/details/103505788

以上博客对springboot抽象类无法注入实例化做了解决,虽然解决了抽象类注入实体为空的情况,但是不知具体解决原理是什么。


抽象类不能实例化,因此在抽象类中不能注入其他实例,因为无法被spring托管。然而对抽象类的子类进行实例化托管之后,抽象类中进行注入托管的实例却能正正常注入,这是为什么(个人定位是java多态的向上向下转型)

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • hzx334 hzx334 1年前

    其实你已经回答了你的问题了。 对抽象类的子类进行实例化托管之后,初始化的顺序是,先初始化父类,再去初始化子类。所以父类的使用@Autowired注解托管实例可以正常使用了。

    点赞 评论 复制链接分享
  • HanKin_ 一只三黄鸡 2年前

    太少用到抽象类了,想了想,不能白来。
    比如你有一个接口,如果impl实现,那么这个接口就是无法注入的,为null,但是如果你impl了,那么注入的就不是null了。可能无法解决你的问题,但是思路是一样的,

    点赞 评论 复制链接分享

相关推荐