使用靜態參數加載器可將系統某些靜態參數表數據放入緩存,以便后續程序使用。
加載器配置文件:spring-params-loader.xml
```
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:cache="http://www.springframework.org/schema/cache"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
default-autowire="byName">
<!-- 靜態參數緩存加載器 -->
<bean id="staticParamDataLoader" class="org.walkframework.base.system.staticparam.StaticParamDataLoader">
<!-- 緩存管理器 -->
<property name="cacheManager" ref="springCacheManager"/>
<!-- 是否每次啟動時都加載。true:每次重新啟動時都會強制重新加載。false:工程啟動時,當發現本加載器已經加載過則放棄重新加載,但能否發現只有在redis環境下實現。 -->
<property name="forceLoad" value="#{'${cache.params.forceLoad}'==''?('${cache.cacheDriver}'=='rediscache'?'false':'true'):'${cache.params.forceLoad}'}"/>
<!-- 是否異步加載。true:開另外的線程進行加載,不影響工程啟動速度 -->
<property name="asynLoad" value="${cache.params.asynLoad}"/>
<!-- 延遲加載秒數 -->
<property name="delaySeconds" value="${cache.params.delaySeconds}"/>
<!-- 是否啟用自動刷新 -->
<property name="autoRefresh" value="${cache.params.autoRefresh}"/>
<!-- 自動刷新周期秒數 -->
<property name="autoRefreshSeconds" value="${cache.params.autoRefreshSeconds}"/>
<!-- 靜態參數表配置文件列表 -->
<property name="staticParams">
<util:list>
<!-- 默認數據源靜態參數表加載 -->
<bean id="ds1_staticParamLoadManager" class="org.walkframework.base.system.staticparam.StaticParamLoadManager">
<property name="configLocation" value="spring/params/ds_1_params.xml"/><!-- 默認數據源靜態參數表配置文件路徑 -->
<property name="dao" ref="sqlSessionDao"/><!-- 默認數據源dao工具 -->
</bean>
<!-- 其他數據源靜態參數表加載示例
<bean id="ds2_staticParamLoadManager" class="org.walkframework.base.system.staticparam.StaticParamLoadManager">
<property name="configLocation" value="spring/params/ds_2_params.xml"/>數據源2靜態參數表配置文件路徑
<property name="dao" ref="sqlSessionDao2"/>數據源2dao工具
</bean>
-->
</util:list>
</property>
</bean>
</beans>
```
具體加載數據表配置文件:ds_1_params.xml
```
<?xml version="1.0" encoding="gb2312"?>
<application>
<!-- key: 緩存名稱,唯一,不可重復。單表建議用表名,多表關聯起個不會重復的名字。sql為空時,表示單表,以key作為表名。 必填-->
<!-- primaryKey:主鍵。標識記錄唯一的字段。 必填-->
<!-- condition: 單表使用,條件限定。此字段不為空時表示單表查詢,默認以key作為表名。 選填-->
<!-- sqlId: 涉及到多表復雜查詢時可自定義sql,在mybatis的sql文件里定義。 選填-->
<!-- load: 是否加載,默認true。 選填-->
<!-- ds_1數據庫靜態參數列表。如全部不加載可指定load="false",該值默認為true -->
<StaticParams>
<!-- 加載TD_S_STATIC表。此表特殊,程序中有特殊處理 -->
<table key="TD_S_STATIC"/>
<!-- 加載TD_M_STAFF全表。 -->
<table key="TD_M_STAFF" primaryKey="STAFF_ID"/>
<!-- 加載TD_M_DEPART全表。 -->
<table key="TD_M_DEPART" primaryKey="DEPART_ID"/>
<!-- 加載TD_M_AREA全表,條件限定為validflag='0'的數據 -->
<table key="TD_M_AREA" primaryKey="AREA_CODE" condition="validflag='0'"/>
<!-- 加載TD_S_CALLINGTYPE全表。 -->
<table key="TD_S_CALLINGTYPE" primaryKey="CALLING_TYPE_CODE"/>
<!-- 加載TD_S_CALLINGSUBTYPE全表。 -->
<table key="TD_S_CALLINGSUBTYPE" primaryKey="CALLING_SUB_TYPE_CODE"/>
<!-- 指定sql進行數據加載,ExampleSQL.selectStaffList在ExampleSQL.xml文件中定義 -->
<table key="ExampleSQL.selectStaffList" primaryKey="STAFF_ID" sqlId="ExampleSQL.selectStaffList"/>
</StaticParams>
</application>
```
- walk簡介
- 核心模塊
- walk-data
- IData
- EntityHelper
- walk-cache
- 緩存管理器
- 緩存對象
- 緩存注解
- walk-batis
- 單表操作
- 批量操作
- 列表/分頁查詢
- 所有方法列表
- sql熱部署
- 二級緩存
- 數據庫方言
- 其他使用技巧
- 實體類生成工具
- walk-mq
- 隊列管理器
- 隊列對象
- 訂閱/發布管理器
- 訂閱器
- 發布器
- walk-shiro
- 用戶認證/授權
- url動態授權/回收
- 分布式會話
- 無狀態會話支持
- walk-base
- 前端基礎框架
- 公共頁面
- 自定義標簽
- 自定義函數
- 組件及工具
- 后端基礎框架
- 基礎結構
- 表單校驗
- 數據導入
- 數據導出
- 上傳下載
- 靜態參數加載器
- 靜態參數翻譯器
- 實體類翻譯器
- sql翻譯器
- 自定義翻譯器
- 靜態參數校驗器
- 分布式任務
- 增刪改查代碼生成器
- walk-restful
- 請求報文
- 返回報文
- 節點翻譯器
- api代碼生成
- walk-activiti
- 接口封裝
- 模型管理
- 流程圖展示
- 集成方法
- walk-console
- 在線會話管理
- 靜態參數表緩存管理
- 緩存管理
- 隊列管理
- 發布/訂閱管理
- walk-boot
- 常用功能
- 持久層操作
- 分布式緩存
- 分布式會話
- 分布式任務
- 前端常用功能
- 后端常用功能
- 工作流封裝
- 多數據源支持
- 關于讀寫分離
- 常用工具類
- 代碼生成工具
- SpringCloud集成
- 阿里edas平臺支持
- 其他
- 開發規約
- 環境要求
- 工程示例
- 工程結構
- web工程
- API工程
- 后臺任務
- 常見問題
- 事務不生效
- 分布式任務不生效
- 事務鎖
- 變更歷史