使用静态参数加载器可将系统某些静态参数表数据放入缓存,以便后续程序使用。
加载器配置文件: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工程
- 后台任务
- 常见问题
- 事务不生效
- 分布式任务不生效
- 事务锁
- 变更历史