筆者在實際生產中有時會遇到需要自己生成 serviceimpl的 方法,和需要用到工廠類的情況,下面先講講怎麼用反射做工廠類,
動作被抽象出來
public
inte***ce paystrategy
public
class
ebankpay
implements
paystrategy
}
public
enum sectionenum
private string classname;
public string getclassname()
public
void
setclassname(string classname)
}
利用反射獲得父類
public
class strategyfactory
}
當然以上只是在工具類中適用,真正的 實際中可能會有 匯出報表時,實現類中有大量的 注入的service,所以工具類的這一套就需要稍微換一換
/**
* description: 工具類,用於普通類獲取註冊過的bean
* */
import org.slf4j.logger;
import org.slf4j.logge***ctory;
import org.springframework.beans.bean***ception;
import org.springframework.beans.factory.nosuchbeandefinitionexception;
import org.springframework.stereotype.component;
@component
public
class
springcontextutil
implements
private
final
static logger logger = logge***ctory
.getlogger(springcontextutil.class);
private
@override
public
void
throws bean***ception
public
}public
static object getbean(string name) throws bean***ception
public
static object getbean(string name, class requiredtype)
throws bean***ception
public
static object getbean(class requiredtype)
throws bean***ception
public
static
boolean
containsbean(string name)
public
static
boolean
issingleton(string name) throws nosuchbeandefinitionexception
public
static class gettype(string name) throws nosuchbeandefinitionexception
public
static string getaliases(string name) throws nosuchbeandefinitionexception
}
public inte***ce handle
可以使用拼接的名字 ,每乙個 匯出都會 代入自己的唯一的標識,所以可以 根據傳入的標識不一樣進行處理
@component
public
class
m107000015handle
implements
handle
}
string platcode=dbsource.getname();
handle
handle
= (handle) springcontextutil.getbean(platcode+
"handle");
handle
.handledata(data);
filter不能利用spring注入怎麼辦?
問題 寫了乙個filter,需要查詢資料庫,於是利用spring注入了service類,但是執行的時候發現,service一直是空,度娘之後發現由於種種原因,filter裡面沒有注入。解決辦法 private akskservice akskservice 這個就是需要注入的service publ...
Quartz 在 Spring 中如何動態配置時間
在專案中有乙個需求,需要靈活配置排程任務時間,並能自由啟動或停止排程。有關排程的實現我就第一就想到了quartz這個開源排程元件,因為很多專案使用過,spring結合quartz靜態配置排程任務時間,非常easy。比如 每天凌晨幾點定時執行乙個程式,這只要在工程中的spring配置檔案中配置好spr...
在靜態方法中應用spring注入的類
最近在一次專案的重構中,原專案需要在靜態方法中呼叫service,現在需要更換框架,service需要自動注入,無法再靜態方法中呼叫 解決思路 建立乙個當前類的靜態變數,建立乙個方法,使用 postconstruct 進行註解,被 postconstruct修飾的方法會在伺服器載入servle的時候...