1. 說明:
專案中涉及到dubbo服務,在專案中需要將這個服務作為乙個bean注入,由於本人需要在靜態方法中使用這個bean,所以如果使用類似@autowire等註解注入時會編譯報錯。
2. 解決方法:
自己寫乙個工具類,通過spring上下文獲取這個bean。轉成靜態的。
import org.springframework.beans.bean***ception;
*import org.springframework.stereotype.component;
/** * *springcontexthelper
* description:
* * @author ***
* @date 2017/12/28 10:34
*//*
* @component泛指元件,當元件不好歸類的時候,我們可以使用這個註解進行標註。
* 標記為元件後在啟動服務時,會將此類例項化到spring容器中,相當於配置檔案中的*/
@component
/*** spring應用上下文環境
*//**
* 重寫並初始化上下文
* @throws bean***ception bean異常
*/@override
}/**
* 通過類獲取
* @param clazz 注入的類
* @param 返回型別
* @return 返回這個bean
* @throws bean***ception bean異常
*/@suppresswarnings("unchecked")
public static t getbean(class clazz) throws bean***ception
/*** 通過名字獲取
* @param name 名字
* @param 返回型別
* @return 返回這個bean
* @throws bean***ception bean異常
*/@suppresswarnings("unchecked")
public static t getbean(string name) throws bean***ception
}
在需要使用的類中注入你的bean使用即可
private static employeeservice employeeservice = springcontexthelper.getbean(employeeservice.class);
網上還有類似的解決辦法,例如使用@postconstruct等,或是直接先例項化這個類,再呼叫,如new testclass().employeeservice(在這裡肯定不適用),我都嘗試了下,沒有成功。
專案中使用ibatis方法
通過daomanagerbuilder載入dao.xml檔案獲取daomanager物件 dao.xml 配置如下 sql map config 配置如下 匯入database.properties檔案 設定資料庫連線屬性 匯入每乙個資料庫實體檔案 檔案指定實體類和資料表對應關係 account.x...
專案中使用spring和redis的整合
在專案中我使用的是spring內部整合的redis。不得不服,spring幾乎整合了當下所有流行的框架。從這上面看,當下流行的redis solr hadoop mongodb couchbase.全都收入囊中。對於redis整合而言,主要用到的是spring data redis 使用步驟 新增p...
spring 專案中在類中注入靜態字段
有時spring 專案中需要將配置檔案的屬性注入到類的靜態欄位中 例如 檔案上傳 檔案上傳指定上傳位置 有如下引數 如果想在類中直接使用,可以通過定義常量類的靜態欄位來獲取 component propertysource classpath dev resource dev.properties ...