本次版本更新主要针对YMP框架的易用、稳定、安全性等方面的性能优化及BUG修复。
更多相关模块工程也会陆续更新,更多模块请参看:YMP v2.0 模块项目集中发布!第一波!
新版本已提交至Maven中央库,可以通过以下配置获取各模块依赖:
<dependency>
<groupId>net.ymate.platform</groupId>
<artifactId>ymate-platform-<MODULE_NAME></artifactId>
<version>2.0.1</version>
</dependency>
请将替换为具体模块名,模块详见: The Central Repository Search Engine
更新记录:
核心 (Core)
- 优化类扫描逻辑被声明@Ignored注解的类将被自动扫描程序忽略;
- 优化BeanWrapper为其新增类属性过滤器接口及相关方法;
- 优化获取类方法参数名称集合的逻辑及相关代码,若找不到或Missing时不会抛出异常而是返回元素数量为0的空数组;
- 增加拦截器全局规则设置,调整拦截器可以不用修改代码;
- 为BlurObject对象添加对Clob和Blob数据类型的支持;
- Fastjson存在高危安全漏洞,已更新升级至1.2.28;
- 调整Events事件触发模式由事件监听者在订阅事件时决定;
- 重新调整代理类的执行顺序Order参数值并改成注释为数值小的最先执行;
- 优化Base64方法调用;
配置体系 (Configuration)
- 修正尝试通过运行时变量或系统变量获取CONFIG_HOME参数的处理逻辑;
持久化 (JDBC)
- 优化数据库连接失败会导致服务启动不成功的问题增加尝试重新初始化逻辑;
- 实体代码生成器新增允许在指定字段上配置是否使用@Readonly注解声明;
- 优化BaseEntity实体基类增添find、findFirst和findAll方法重载;
- 数据实体生成器新增实体及属性命名过滤器接口, 允许为那些老旧数据库(命名不规范或有中文字段名等情况)自定义实体和字段名称;
- 优化使其基础数据实体类内部对象在进行JSON序列化时将不被输出;
- 优化实体基类的delete方法返回值逻辑;
- 修正数据实体结果集处理器由于Oracle数据查询时返回的字段名是大写字符导致实体对象无法正确赋值的问题;
- 优化JDBC操作器的异常日志输出以减少重复;
- 为SQL类对象增加直接转换的toSQL方法,同时优化field方法降低字段前缀操作频次;
- 修正ResultSet资源未关闭并移除无用的局部变量;
- 修正类构造方法中未对参数进行赋值;
Web框架 (WebMVC)
- 优化请求编码处理逻辑;
- 优化JSON视图对象可以设置属性使用引号的开关方法;
- 优化当加载本地语言参数值无效或解析错误时可能会导致异常的情况;
- 调整将Cookie数据加解密返回的字节数组强制转为Base64编码;
- 优化JsonView对象支持设置是否保留空值属性;
- 防止WebMVC未成功初始化时导致的事件源对象为空的异常情况发生;
- 优化WebMVC请求处理过程的日志输出;
- 优化控制器请求解析器更完美支持RESTFul风格,可以通过参数request_mapping_parser_class=restful开启配置;
- 优化CookieHelper的使用并调整其对value的加解密逻辑以及统一Base64方法的调用;
验证 (Validation)
- 调整邮件地址验证器正则表达式使其支持后缀长度超过3位的域名;
缓存 (Cache)
日志 (Log)
- 优化框架销毁时的日志输出可能产生空指针异常的情况;
- 日志相关模块代码逻辑优化使其更好的将commons-logging和slf4j等日志系统与log4j进行融合;
One More Thing
YMP是一个非常简单、易用的轻量级Java应用开发框架,涵盖AOP、IoC、WebMVC、ORM、Validation、Plugin、Serv、Cache等特性,让开发工作像搭积木一样轻松是我们一直不懈努力的目标!
YMP不仅提供便捷的Web及其它Java项目的快速开发体验,也将不断提供更多丰富的项目实践经验。
文章转载自 开源中国社区 [http://www.oschina.net]