walk2.2.0
更新日期:2020.10.20
1、重要升級:springboot升級到2.x,目前版本2.3.4.RELEASE
2、重要升級:jdk最低要求1.8,spring升級到5.2.9.RELEASE,其他相關依賴一并升級
   基于2.1.x的老工程升級到2.2.0方法:
        1、BootRun exclude加入SpringDataWebAutoConfiguration.class
        2、server.context-path改成server.servlet.context-path
        3、transaction.xml中注掉<tx:annotation-driven transaction-manager="txManager"/>
        4、gradle-wrapper.properties中distributionUrl改成http\\://nexus.walkframework.org:8081/nexus/service/local/repositories/releases/content/gradle/gradle/6.6.1/gradle-6.6.1-bin.zip
        5、build.cmd、build.gradle、gradle.properties、pom.xml相應改動,詳見[https://github.com/shf675/walk-introduction/tree/master/buildconfig](https://github.com/shf675/walk-introduction/tree/master/buildconfig)
        6、spring-config.xml文件28行加入
```
<!-- 引入redis-pool.xml-->
<beans:import resource="#{('${cache.cacheDriver}'=='rediscache'||'${shiro.sharedSession}'=='true'||'${mq.pubsub.import}'=='true'||'${mq.queue.import}'=='true')?'classpath:spring/redis/redis-pool.xml':'classpath:base/common/spring/emptyfile.xml'}"/>
<!-- 引入spring-redis-mq.xml-->
<beans:import resource="#{('${mq.pubsub.import}'=='true'||'${mq.queue.import}'=='true')?'classpath:spring/mq/spring-redis-mq.xml':'classpath:base/common/spring/emptyfile.xml'}"/>
```
        7、spring-redis-shared-session.xml、spring-rediscache.xml、spring-redis-mq.xml文件注掉redis-pool.xml引用,spring-redis-pubsub.xml、spring-redisqueue.xml文件注掉spring-redis-mq.xml引用
        web工程:server.jsp-servlet.init-parameters.development改成server.servlet.jsp.init-parameters.development,引入walk-activiti的工程application.properties中加入spring.autoconfigure.exclude[0]=org.activiti.spring.boot.SecurityAutoConfiguration
        api工程:spring-mvc.xml加入<context:component-scan base-package="org.walkframework.restful" />、<context:component-scan base-package="springfox" />,注釋SwaggerConfig
3、注意:2.1.x與2.2.x將并行維護一段時間
*****
walk2.1.13
更新日期:2020.09.29
1、walk-restful代碼生成器加入自動生成controller與service方法,打印到控制臺
2、walk-tools jdbc方式dbcp數據源密碼解密處理
3、shiro版本升級到1.6.0
4、導出注解DataExport加入導出類型約束
5、解決異步導出報There is no session問題
*****
walk2.1.12
更新日期:2020.07.10
1、walk-shiro增加靜態資源過濾器,避免靜態資源頻繁的操作session,spring-config-shiro.xml文件shiroFilter配置里的靜態資源使用res即可
2、walk-restful增加有狀態API調用方式,以滿足前后端分離開發模式 。
3、walk-restful優化日志輸出,方便后續控制日志級別 。
4、walk-batis解決mysql未創建序列表時看不到報錯信息問題
5、walk-activiti會簽提交報錯問題修復
6、修復彈出窗iframe頁面重復加載問題
7、修復其他一些問題
*****
walk2.1.11
更新日期:2020.05.20
1、增加功能:可根據數據庫表生成增刪改查代碼及實體類
*****
walk2.1.10
更新日期:2020.03.14
1、walk-data中增加getStringArray方法用以將字符串數組轉換為以分隔符分隔的字符串
2、修復異步導出條件切換無效問題
3、修復相關oracle特殊語法問題
4、修復其他相關bug
*****
walk2.1.9
更新日期:2019.10.14
修改靜態資源文件路徑,保持與springboot規范一致。新建static目錄,將component目錄挪到其下
工程配置需做相關調整,最新請看webdemo工程
1、spring-config-shiro.xml:修改/nav/login為/login/navlogin;修改formlogin為/login/formlogin;刪除component/、pages/等配置
2、spring-mvc.xml:增加/static/component/**映射,刪除component/**映射
3、application.properties:修改page.loginUrl為/login/navlogin
4、Login.jsp:/formlogin修改為/login/formlogin
5、批量替換component/resources為static/component/resources
*****
walk2.1.8
更新日期:2019.10.14
解決springcloud環境中配置熱加載問題
工程配置需做相關調整,最新請看webdemo工程
1、spring-config.xml、spring-mvc.xml中去掉屬性配置<bean id="propertyConfigurer" class="org.walkframework.base.tools.spring.SpringPropertyHolder">...
2、spring-config.xml中引入spring-mvc.xml,在<beans:import resource="classpath:spring/ds/ds-dbcp.xml"/>后面加上如下配置
<!-- 引入springmvc-->
<beans:import resource="#{'${spring.boot.mvc.load}'=='true'?'classpath:spring/spring-mvc.xml':'classpath:base/common/spring/emptyfile.xml'}"/>
3、spring-mvc.xml中去掉<bean class="org.walkframework.base.tools.spring.SpringContextHolder" lazy-init="false" />
*****
walk2.1.7
更新日期:2019.08.02
1、easyui升級到1.8.1
2、增加定時導出功能
*****
walk2.1.6
更新日期:2019.05.03
1、walk-batis Conditions方式優化
2、增加ajaxfileupload組件,ajax方式上傳文件
*****
walk2.1.5
更新日期:2019.04.16
1、增加walk-activiti模塊
2、walk-base增加實體類翻譯器(@EntityTranslate)、sql翻譯器(@SqlTranslate)
3、walk-batis增加selectListBySql方法,但僅限框架內部使用
4、walk-boot增加jsonp過濾器自動加載
4、walk.js增加 uuid、live函數
*****
walk2.1.4
1、walk-shiro:增加靜默登錄流程
2、walk-batis:修復mybatis-config.xml中defaultExecutorType=SIMPLE時,實體類更新無效問題
3、walk-batis:實體類查詢增加noAnyCondition方法,如未調用此方法,則查詢、更新、刪除必須帶條件才可執行,否則拋錯
4、walk-batis:mysql獲取序列時內部修改為異步方式,避免事物只讀拋錯
*****
walk2.1.3
1、增加異步導出功能,以避免同步方式導出文件過大時間過長導致的超時問題。
*****
walk2.1.2
1、walk-restful翻譯器節點入參改為必傳,如不傳或傳null則不會執行翻譯器
2、walk-restful打印接口日志改成info級別,并增加耗時時間
3、walk-restful增加無狀態接口權限校驗機制
*****
walk2.1.1
1、walk-restful加入簽名校驗攔截器
2、walk-shiro RouteAuthFilter修改,解決會話重復創建問題
3、walk-shiro jcaptcha圖形驗證碼解決集群環境下問題
4、修改SpringPropertyHolder 兼容spring boot方式啟動外部指定參數優先啟動
*****
walk2.1.0
1、jdk升到1.7
2、引入HikariCP連接池,一款高性能連接池
3、加入Spring boot支持,老工程結構可不用做任何改變,但需修改如下
1)app.properties文件:加入spring boot相關配置,詳看walk-example工程
2)加入數據源配置文件boot-ds.xml,詳看walk-example工程
3)修改構建腳本build.gradle、build.cmd,詳看walk-example工程
walk-example工程路徑:http://10.20.16.72:7511/svn/DD3/walk-example
注意:
本地開發方法:以walk-example為例
1、下完代碼后執行build.cmd,編譯工程
2、直接執行該類main方法即可src/main/java/com/asiainfo/walk/example/tools/BootRun.java
jar包方式運行方法:
1、執行build.cmd,選擇發布工程,生成jar后直接運行命令即可:java -jar walk-example.jar。可看build.cmd內的命令,加了-x findMainClass,這是非常必要的。
2、啟動時可指定參數,例如java -jar walk-example.jar --server.port=8089 --server.context-path=/walk-example --ds.location=file:/E:/jar/boot-ds.xml
*****
walk2.0.81
1、walk.js中_openUrlDialog函數onloadSuccess增加參數:easyui彈窗window對象
2、walk-restful SwaggerConfig增加正則匹配路徑設置
3、walk-shiro 解決會話固定攻擊(Session fixation attack)問題。普通登錄情況下,非CAS環境。
4、walk-cache 解決遠程加載緩存名時分隔符中帶有特殊符號問題。修改lua腳本對特殊字符做處理
5、walk-mq 隊列迭代方法增加分頁
6、w:set標簽bug修改
7、基于JACKSON的json工具類JsonUtil。JACKSON反序列化時可以調用set方法,在某些情況下是必要的。
8、easyui的confirm、prompt對話框按鈕實現可定制樣式
9、修改工具類org.walkframework.cache.util.ReflectHelper,可支持查找本類及父類屬性及方法
10、spring、shiro、mybatis版本升到最新
11、增加walk-console模塊,用于緩存、隊列、會話等監控
*****
walk2.0.80
1、walk-cache針對ehcache設置過期時間方法(expire)bug修復
2、walk-cache針對redis獲取元素剩余存活時間方法(ttl)bug修復
3、修改org.walkframework.base.system.security.DefaultUserService.findUser方法,兼容mysql
*****
walk2.0.79
1、walk-batis加入mysql獲取序列支持,調用方法與之前沒變化dao.getSequence("seq_xxx")。支持步驟見org.walkframework.batis.dialect.MySQLDialect getSequence方法備注
2、DefaultUserService中加載菜單方法findMenus調整,用以兼容mysql及其他數據庫
3、w:script、w:link、w:img標簽加入相對路徑支持
4、修復walk-shiro中CAS單點退出問題。現象:新加CAS登錄流程的時候,例如/o2ologin,無法單點退出
5、jquery-extend.js加入提示信息抖動效果函數,調用示例:$("#msg-box").shake(2, 10, 400);
*****
walk2.0.78
1、cas服務端使用的webflow標簽加入屬性值支持
*****
walk2.0.77
1、config.js94行多個逗號,導致在IE6下報錯
2、增加系統通知功能org.walkframework.base.system.task.NotifyTask
3、Common.getIpAddr方法修改
*****
walk2.0.76
1、walk-redis對redis的cluster模式支持
2、walk-redis修復scan命令造成的造成java.lang.ClassCastException: [B cannot be cast to XXX錯誤
3、walk-cache的redis方式增加keys按分頁查詢,同時size方法新增可按指定key匹配取總數
4、靜態參數加載器xml文件中增加參數是否加載控制。
例如:<StaticParams load="false">load默認為true
<table key="TD_S_STATIC" load="false"/> load默認為true
5、web.xml中需增加配置org.walkframework.base.system.initializer.WalkApplicationContextInitializer,用于預先加載屬性文件,以便beans:import標簽使用
例如:<beans:import resource="classpath:spring/cache/spring-${cache.cacheDriver}.xml"/>
6、web.xml中需增加配置org.walkframework.base.system.initializer.WalkXmlWebApplicationContext,用于解析SpEL表達式,以便beans:import標簽使用
例如:<beans:import resource="#{'${shiro.sharedSession}'=='true'?'classpath:spring/cache/spring-redis-shared-session.xml':'classpath:base/common/spring/emptyfile.xml'}"/>
7、routeAuthFilter增加defaultAuthFilterName配置,以便統一在app.properties文件中配置默認的認證過濾器,設置了此屬性不能設置defaultAuthFilter屬性
例如:<bean id="routeAuthFilter" class="org.walkframework.shiro.web.filter.authc.RouteAuthFilter">
<property name="defaultAuthFilterName" value="#{'${shiro.defaultAuthFilter}'!=''?'${shiro.defaultAuthFilter}':'formAuthFilter'}"/>
...
*****
walk2.0.75
1、取消隊列出隊方法的鎖操作
2、引入基于redis的全局鎖簡單實現。
//全局鎖使用示例
RedisOperations cacheRedisOperations = SpringContextHolder.getBean("cacheRedisOperations", RedisOperations.class);
RedisLock lock = new RedisLock(cacheRedisOperations, "testlock");
lock.execute(new LockCallback<Object>(){
@Override
public Object doInLock(RedisConnection connection) {
//執行具體的業務邏輯...
return null;
}
});
*****
walk2.0.74
緩存注解ICacheable、ICachePut緩存秒數(cacheSeconds)修改為String類型,方便使用${}表達式獲取變量值
*****
walk2.0.73
1、增加w:script、w:link、w:img標簽,可設置資源版本號,避免修改資源文件瀏覽器緩存問題。具體用法在工程的Version.jsp中設置統一的版本號,也可單獨針對每個資源文件設置版本號
2、修改w:set標簽,value如果是類名或實例或spring定義的service名稱必須以@打頭,普通值不用
3、調整walk-logger目錄結構
4、spring以及相關版本升級
*****
walk2.0.72
修改一些類中e.printStackTrace();為log.error();防止在工程的日志文件中看不到日志信息
*****
walk2.0.71
新增easyui樹搜索組件
*****
walk2.0.70
1、基于安全考慮,避免mybatis拋錯時直接將sql拋到前臺
2、修復walk-restful使用緩存注解不生效問題
*****
walk2.0.69
1、修復導入校驗失敗后下載錯誤詳情文件時報錯問題
2、修復walk-shiro的realm動態切換時bug
3、加入靜態參數緩存管理器與加載器
*****
- 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工程
- 后臺任務
- 常見問題
- 事務不生效
- 分布式任務不生效
- 事務鎖
- 變更歷史