service手動實例化(new)導致類中的spring對象無法注入的問題解決


 

 


下面說的這個畫橫線的可能是錯誤的,因為我之前用controller繼承父類的注解對象的時候成功了,所以可能這次的唯一原因就是

不該把本該從ioc容器中拿出的對象通過new的方式實例化,至於繼承注解對象應該是可以的。

首先,如果打算用繼承,那么父類被注入的對象是無法繼承的,手動注入即可,比如 @Autowired,

因為本質上是從spring ioc容器中拿對象,所以像這種想要繼承父類service中通過@Autowired注入的對象的目的是實現不了的,只能手動注入。

(比如這次我通過把父類service中的通過注解注入的對象加上 public,然后讓子service試圖繼承過來,實際上是不可行的,是注入不了的)

Service對象,必須通過spring注入的方式聲明,不能new一個出來,否則Service中的對象將無法被spring注入,比如mapper。

 

例如:

這里的 addGroupService 之前是通過 new 出來的,結果導致里 Service 里面的mapper 為空,

所以只要用spring的方式注入這個service就行了,例如 @Autowired

這里我把 AddGroupService addGroupService = new AddGroupService(); 注釋掉了,然后 @Autowired 一個 AddGroupService 對象,然后就成功注入了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM