在spring中注入属性的目标是实例而不是类

子类从父类继承的值是与实例无关的 所以子类的属性并没有被赋值


工作背景:

有一个BaseService 有3个Dao成员 DaoA DaoB DaoC

并且 spring 为这3个成员分别注入了值 这三个Dao是直接可以拿过来执行数据库访问的

但是有一个BaseService的子类 xxx 

也是拿来执行数据库访问的 

表面上 它可以正常的使用 DaoA DaoB 

这让我产生了误解,以为这些是从父类拿过来的

但是 需求需要xxx去使用DaoC来访问数据库

结果一直报空指针异常 困惑了很久

最后才发现 xxx之所以能使用DaoA DaoB 是因为spring配置文件中也其DaoA DaoB 注了值

而与父类的DaoA DaoB DaoC是没有关系的

xxx的DaoC没有被注值 拿过来用的时候就一直是默认的null 所以一直报空指针异常