spring抽象類中注入bean

2021-08-28 23:02:29 字數 857 閱讀 9003

在使用spring的時候,有時由於設計的需要,需要使用抽象類(比如模板方法模式),但在抽象類中實現方法是需要依賴其他的介面或類的方法,這時就需要對依賴的介面或類進行注入,需要注意以下內容:

在抽象類中需要注入(@autowire),在繼承了該抽象類的子類中同樣需要再次注入。比如當前專案中,使用者購買物品的模板抽象類中需要使用userservice,則在改抽象類中和道具服務類(實現了道具介面並繼承了模板抽象類)均需要對userservice進行注入

當有多個子類的時候只要有乙個子類中有注入實現,其他子類是不需要注入了可以直接使用:

public abstract  class abstracttest
//實現1

@service

public class abstracttestimpl2 extends abstracttest

}

//實現2

@service

public class abstracttestimpl1 extends abstracttest

}

//測試

@autowired

abstracttestimpl1 abstracttestimpl1;

@autowired

abstracttestimpl2 abstracttestimpl2;

@test

public void test2()

結果:

工具類中注入Spring物件

因為日常工作中肯定會使用過到工具類 裡面必然會有靜態方法 但是spring 是無法直接注入靜態方法的 需要一些額外的工作 第一種 宣告為spring元件 component public class utils 第二種 component public class staticutils 因為工具方...

spring抽象父類注入

有時候為了管理或者避免不一致性,希望具體服務統一繼承抽象父類,同時使用 autowired為抽象父類注入依賴。搜了了網上,有些解決方法實現實在不敢恭維,靠子類去注入依賴,那還有什麼意義,如下 父類 public abstract classbasecar component public class...

Spring框架中注入方式

定義 使用set方法形式為成員變數賦值 語法 將需要的元件宣告為成員變數並提供set方法,在配置檔案中使用property標籤進行賦值8種基本資料型別與string型別的注入 陣列的注入 uuuu wwww zzzz x list的注入 aaaaa bbbbb ddddd map的注入 定義 使用類...