在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 所以一直報空指針異常