Spring動態載入Hibernate對映檔案

2022-09-22 22:39:24 字數 852 閱讀 9530

近來還在整通用的業務系統框架,採用外掛程式的方式載入需要的配置,之前已實現了spring和struts2配置的動態載入,現在剩下hibernate的對映檔案動態載入還沒實現,於是搜資料查原始碼終於實現之。

1、重寫sessionfactory類

新建乙個類,繼承org.springframework.orm.hibernate3.localsessionfactorybean,

重寫newsessionfactory(configuration config),

在該方法中呼叫config.addfile()方法增加需要動態載入的hbm檔案,主要**:

[j**a]  

public class shinesessionfactorybean extends localsessionfactorybean  

}  2、修改spring配置檔案

將原來的org.springframework.orm.hibernate3.localsessionfactorybean改成重寫後的類,將之前在這裡配置的hbm路徑去掉,或者保留但不要和外掛程式注入的hbm檔案重複,其他屬性還是一樣。

[html]  

然後重啟後生效,整合在系統中時得注意幾個問題:

1、如果newsessionfactory中是從系統的全域性變數中取需載入的hbm檔案的話,得在spring容器初始化前就給該全域性變數設定好值。

2、動態載入的hbm.xml檔案時確保檔案路徑是存在的,如果要載入的配置檔案在jar包中或者不在本機的得針對該配置檔案的讀取再做封裝。

3、如果系統中需有多個sessionfactory時,得讓不同的sessionfactory載入不同的hbm配置檔案(我通過為sessionfactory增加id屬性來控制)。

spring動態載入bean

廢話不多說,直接上 private static final string strs new string protected mapremotes new hashmap for int i 0 i string name one if i 0 beandefinitionbuilder user...

Spring 資源載入

pom.xml org.springframework spring core 4.3.14.release org.springframework spring beans 4.3.16.release org.springframework spring context 4.3.16.relea...

動態載入動態庫

message函式的宣告你應該知道吧,把它的宣告和下面的語句寫到乙個標頭檔案中 pragma comment lib,a.lib 然後你的對話方塊.cpp中包含這個標頭檔案就可以使用message函式了。如果dll沒有對應的.lib檔案,那麼就只能使用動態載入的方式了。動態呼叫動態庫步驟 1 建立乙...