spring 爲某類注入的屬性 其子類無法使用

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




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章