148 Star 422 Fork 142

有理想的鱼 / ymate-platform-v2

2023-07-08 15:02
10397 suninformation 1578914701 有理想的鱼

主要更新内容:

【Cache】

  • 新增Redis缓存同步锁扩展接口并支持通过SPI方式自定义
  • 将一些使用MD5的方法调整为SHA1算法
  • 调整参数签名时默认采用SHA1算法
  • 调整文件签名方法支持使用SHA1算法
  • 优化调整缓存管理器等配置相关代码

【Commons】

  • 优化JXLS模版文件处理逻辑
  • 增加类型引用包装器并完善JSON反序列化接口支持
  • 优化调整Jackson适配器初始化构建ObjectMapper的相关逻辑
  • 优化文件导出列注解对日期时间和货币类型配置及渲染逻辑
  • 优化文件导出列空值的渲染逻辑
  • 优化调整获取本机IP地址相关方法的处理逻辑
  • 调整异常堆栈信息输出字符串方法至运行时工具类
  • 新增方法用于判断属性值是否发生变化
  • 新增方法用于通过目标日期时间类对象提取时间毫秒值
  • 将一些使用MD5的方法调整为SHA1算法
  • 优化集合类型判断逻辑
  • 优化调整JSON序列化相关代码
  • 新增FST列化器实现并优化调整相关配置及代码
  • 新增JSON适配器工厂接口用于支持SPI方式加载
  • 优化调整执行队列日志输出级别
  • 新增接口用于速度计数器参数配置及自定义数据监听处理逻辑并优化日志输出等
  • 优化调整速度统计监听器为独立接口及相关代码
  • 优化代理类型解析逻辑以避免无法获取注解的情况

【Configuration】

  • 完善配置文件分析器写入内容到文件或输出流
  • 优化配置文件类型判断逻辑以避免可能产生空指针异常

【Core】

  • 优化对象资源回收逻辑
  • 优化调整全局密码处理器以支持对配置文件任意参数项加密处理
  • 优化以支持获取全部成员属性状态对象集合并提供相关方法以JSON字符串格式输出属性名称和值
  • 优化调整上下文接口及相关类不再继承序列化接口
  • 新增判断和获取扩展参数名称相关方法
  • 增加对框架配置文件中自定义扩展参数值的注入支持
  • 优化代理工厂以支持方法参数的拦截处理

【JDBC】

  • 新增方法用于判断属性值是否发生变化
  • 优化调整日期时间类型字段取值逻辑
  • 优化事务及异常处理逻辑
  • 调整实体对象执行删除操作的返回值类型为影响记录数
  • 优化对象查询的条件解析逻辑并为查字段相关注解增加是否包装标识符配置项
  • 优化为批量更新对象增加直接读取并执行SQL脚本文件相关方法
  • 优化对像空判断逻辑以支持集合类型
  • 优化对记录类成员属性状态支持类的代理处理逻辑

【MongoDB】

  • 修正实体更新指定属性过滤条件构建错误
  • 优化调整用户身份验证相关配置及处理逻辑
  • 优化并修正分页查询时返回总记录数量不正确的问题
  • 优化事务及异常处理逻辑

【Plugin】

  • 优化调整上下文接口及相关类不再继承序列化接口

【Serv】

  • 优化统一线程的命名规则
  • 优化服务线程命名并为心跳包内容增加空判断
  • 移除不必要的日志输出代码
  • 优化判断并修正在未开启空闲会话检测时执行会话管理器关闭操作可能产生的空指针异常
  • 修正文本行编码时会产生多余字节问题
  • 修正单元测试代码在Windows环境下可能无法正确执行的问题
  • 检查客户端会话的空闲时间毫秒值将被扩大10%
  • 优化调整速度统计监听器为独立接口及相关代码
  • 优化监听器接口抽象实现类

【Validation】

  • 新增静态方法以便快速构建天周月值对象
  • 优化调整RSA密钥数据提供者接口实现类加载和初始化逻辑

【WebMVC】

  • 优化验证结果及异常类相关代码
  • 增加requestIgnoreUrls参数项用于配置需要排除的请求地址前缀集合
  • 优化视图调试日志输出
  • 调整控制器请求路径映射配置项默认取值为空
  • 优化签名验证时间戳有效周期值允许通过配置文件扩展参数进行设置
  • 优化并修正异常响应状态码配置加载及处理逻辑
  • 调整异常堆栈信息输出字符串方法至运行时工具类
  • 升级文件上传依赖包版本并新增上传文件数量最大值配置参数
  • 调整上传文件大小配置参数默认值为-1
  • 将一些使用MD5的方法调整为SHA1算法
  • 优化签名验证逻辑增加时间戳和时间有效期参数并调整签名默认采用SHA1算法
  • 优化错误视图模版
  • 修正Convention模式下可能出现的URL伪静态参数解析问题
  • 优化主机名称验证器在未指定具体检测器时将尝试通过SPI方式加载全局接口实例,若未找到则使用默认检测器
  • 优化自定义响应对象输出处理逻辑
  • 优化调整上下文接口及相关类不再继承序列化接口
  • 优化调整异常处理器接口的错误码为字符串类型并兼容原整数类型
  • 优化调整IWebMvc模块实例对象的获取逻辑

【Other】

  • 更新依赖包版本
  • 更新文档及配置
最后提交信息为: Release v2.1.2
2022-04-13 01:07
10397 suninformation 1578914701 有理想的鱼

主要更新内容:

【JDBC】

  • 补充常规运算函数相关内容
  • 优化常规运算函数的减法和除法的参数顺序
  • 修正GroupBy分组对象构造方法调用错误
  • 优化以支持$表达式允许通过冒号分隔符指定其数据类型
  • 将EntityMeta类中有关于属性与字段名之间转换的方法移至ClassUtils类并更新相关文档

【Serv】

  • 优化统一线程的命名规则
  • 优化服务线程命名并为心跳包内容增加空判断
  • 移除不必要的日志输出代码
  • 优化判断并修正在未开启空闲会话检测时执行会话管理器关闭操作可能产生的空指针异常

【Configuration】

  • 增加配置文件存放的基准目录名称参数项

【Other】

  • 更新依赖包版本
  • 更新文档及配置
最后提交信息为: Release v2.1.1
2022-02-21 15:44
10397 suninformation 1578914701 有理想的鱼

本次大版本更新间隔时间较长,主要是对模块的加载机制进行了大的优化调整,在近两年时间,通过实际项目使用过程中不断完善、打磨各个模块的细节,尽可能的做到让它更方便、更实用、更稳定。

在兼容性方面,由于工程的包结构有所调整,部份类所在包名与 YMP v2.0.x 版本存在差异,因此升级时需要重新导入,除此之外,功能及使用上 100% 覆盖。

另外,最耗时费力的就编写文档,也是 YMP 框架发布以来最全面的一次文档更新,文档入口:https://ymate.net/guide

本次除发布框架新版本之外,一同发布的还有以下扩展工具及模块,还有更多扩展模块待整理后发布,请关注: https://ymate.net/modules

YMP 不仅提供便捷的 Web 及其它 Java 项目的快速开发体验,也将不断提供更多丰富的项目实践经验。

了解更多有关 YMP 框架的内容,请访问官网:https://ymate.net

最后提交信息为: 修正Javadoc编译问题
2021-12-11 01:30
10397 suninformation 1578914701 有理想的鱼

主要更新内容:

【Core】

  • 优化调整日志模块初始化逻辑并更新 Log4j2 版本以解决 CVE-2021-44228 问题;
  • 更新依赖包版本
最后提交信息为: Release v2.0.11
2021-12-08 23:20
10397 suninformation 1578914701 有理想的鱼

主要更新内容:

【Redis】
优化客户端名称和密码参数值为空时的处理逻辑;
修正端口配置项常量值错误;

【Cache】
优化EhCache缓存销毁逻辑以免产生IllegalStateException异常;

【JDBC】
优化调整抽象数据库方言在构建COUNT查询时将分析并移除SQL语句中OrderBy相关内容;
修正拼装复合主键实体查询条件时可能产生的空指针异常;
修正当字段为自增时不判断参数空异常;

【WebMVC】
修正临时文件写入时提示文件已存在的异常;

2020-07-17 09:59
10397 suninformation 1578914701 有理想的鱼

主要更新内容:

【WebMVC】

  • 修复includeJSP方法在部份Windows系统乱码;
  • 优化JSON序列化Map值有序输出;
  • 优化参数比较验证器及参数名称自定义问题;

【JDBC】

  • 优化数据库方言新增接口方法用于构建计算查询结果总记录数量的SQL语句;
  • 优化SQLServer数据库方言构建分页查询语句对DISTINCT关键词的处理逻辑;
  • 修正结果集数据处理常量ARRAY和MAP存在多线程问题,请在使用时通过new方式创建实例对象;
  • 优化调整实体属性设置为非Nullable且值为空时将抛出无效参数异常;
  • 修正非单例控制器成员参数赋值问题;
  • 优化条件和分组查询对象;

【Configuration】

  • 修正未正确获取指定配置分类问题;
  • 修正配置注解方法名;

【Other】

  • 重构官方网站并提交开发指南文档;
  • 查看文档...
最后提交信息为: Release v2.0.9
2019-09-20 11:01
10397 suninformation 1578914701 有理想的鱼

主要更新内容:

  • 升级fastjson版本至1.2.61;
  • 修正FileUploadHelper中多次getFile方法时返回文件对象为null的问题;
  • 修正自增字段无法正确取值问题;
  • 修正数据源配置常量引用错误;
  • 修正数据库函数名称书写错误;
  • 修正模块名参数传递错误;
  • 修正当执行SQL字段名检查时需要对Fields参数是否为空集合进行判断;
最后提交信息为: Release v2.0.8
2019-06-18 12:53
10397 suninformation 1578914701 有理想的鱼

主要更新内容:

  • 优化调整自定义类型转换器支持多种数据类型注册;
  • 优化调整基本SPI加载自定义类型转换器;
  • 优化并完善SPI类加载逻辑;
  • 调整心跳服务逻辑为睡醒了再发送;
  • 优化调整日志输出支持简化包名和填充对齐配置项;
  • 优化Where处理groupBy逻辑;
  • 优化自定义异常处理器结果判断;
  • 修正实体代码生成器错误引用复合主键类名称的问题;
  • 更新c3p0依赖包版本至0.9.5.4解决CVE-2018-20433警告问题;
  • 优化支持根据数据源名称独立配置DBCP连接池及更新文档相关内容;
  • 修正从JAR包中提取资源方法解决在Windows系统中无法正确执行及路径问题;
  • 修正Convention模式下拦截器的依赖注入问题;
最后提交信息为: Release v2.0.7
2019-01-02 17:42
10397 suninformation 1578914701 有理想的鱼

主要更新内容:

核心(Core)

  • [新增] 调整框架初始化逻辑使各模块支持通过编码方式配置(非配置文件)启动;
  • [新增] 优化调整框架配置支持自定义加载器和代理工厂并新增基于Javassist的代理工厂接口实现;
  • [新增] 空操作代理工厂(使用它表示需要禁用框架的AOP特性, 主要用于Android应用);
  • [新增] 为ClassUtils类新增通过读取META-INF/services/路径下与类名称相同的配置文件加载实例(类似ServiceLoader方法);
  • [新增] 为RuntimeUtils类新增获取当前程序执行进程编号方法;
  • [新增] 为FileUtils类新增从JAR包中提取/META-INF/{prefixPath}目录下资源文件并复制到{targetFile}指定目录方法;
  • [新增] 在类扫描过程中通过excluded_packages参数排除指定类或包;
  • [新增] 新增ThreadUtils线程工具类支持执行结果过滤并调整相关代码;
  • [新增] 新增Speedometer速度计数器工具对并发处理量计算;
  • [新增] 新增ExecutableQueue可执行队列服务类;
  • [优化] 框架初始化时优先尝试加载配置体系模块以保证配置文件加载路径的一致性;
  • [优化] 优化框架初始化配置及类对象扫描性能; 不再推荐直接向框架对象管理器直接注册实例象;
  • [优化] 自动扫描路径分析及各模块配置解析逻辑;
  • [优化] 优化RecycleHelper全局对象资源回收器支持异步操作;
  • [优化] 优化CodecUtils加解密工具;
  • [优化] 优化ConsoleTableBuilder类使用markdown格式输出包含下划线的内容进行转义;
  • [优化] 拦截器支持框架自动扫描和IoC依赖注入特性;
  • [优化] 被拦截目标方法的返回值类型为void则通过异常向上层返回拦截器执行结果;
  • [优化] 为PropertyStateSupport类构造方法增加ignoreNull参数用于设置是否忽略空值;
  • [优化] 环境上下文对象统一实现IContext接口;
  • [优化] 移动MimeTypeUtilsStringEscapeUtils两个工具类至核心包;
  • [优化] 代码优化及相关文档内容更新;

配置体系(Configuration)

  • [新增] 调整框架初始化逻辑使各模块支持通过编码方式配置(非配置文件)启动;
  • [优化] 针对插件中的配置对象支持通过注解自动扫描注册;
  • [优化] 代码优化及相关文档内容更新;

缓存 (Cache)

  • [新增] 优化调整框架初始化逻辑使各模块支持通过编码方式配置(非配置文件)启动;
  • [优化] 优化缓存提供者接口实现类结构;
  • [优化] 代码优化配置及相关文档内容更新;

日志(Log)

  • [新增] 优化调整框架初始化逻辑使各模块支持通过编码方式配置(非配置文件)启动;
  • [优化] 代码优化配置及相关文档内容更新;

持久化(JDBC)

  • [新增] 调整框架初始化逻辑使各模块支持通过编码方式配置(非配置文件)启动;
  • [优化] 优化数据源适配器配置及生成实体时对数据库表备注信息中存在的双引号进行转义;
  • [优化] 针对插件中的存储器支持通过注解自动扫描注册;
  • [优化] 基于查询对象构建SQL语句不支持Fields对象使用排除方式, 将输出日志警告并清空字段集合;
  • [优化] 优化实体生成器使其支持输出csv格式并支持不生成任何文件仅输出表结构;
  • [优化] 优化实体生成器字段描述信息的输出格式;
  • [优化] 优化实体生成器模板;
  • [优化] 当分页查询时,若count为0则直接返回空结果集, 避免执行后面的分页语句;
  • [优化] 强制采用SQL92定义的标准统计行数的语法count(*)进行记录行数统计;
  • [优化] 优化抽象实现saveOrUpdate方法的Fields的参数仅作用于更新操作;
  • [优化] 修正获取自增长字段值异常问题;
  • [优化] 代码优化配置及相关文档内容更新;

插件(Plugin)

  • [新增] 调整框架初始化逻辑使各模块支持通过编码方式配置(非配置文件)启动;
  • [新增] 优化插件模块扫描及加载处理逻辑并简化配置;
  • [优化] 代码优化配置及相关文档内容更新;

服务 (Serv)

  • [新增] 调整框架初始化逻辑使各模块支持通过编码方式配置(非配置文件)启动;
  • [新增] 新增会话管理器辅助类对客户端会话进行统一管理并支持服务端并发量实时监控;
  • [新增] 新增会话管理器对UDP服务端的支持;
  • [新增] 新增空闲会话检查器支持将超过预设时间的会话对象从管理器中移除并触发相关事件回调;
  • [新增] 新增客户端断线重连检测间隔配置项并触发重连事件监听回调;
  • [新增] 新增判断客户端是否正在关闭的接口方法并调整心跳和重连服务的处理逻辑;
  • [优化] 优化会话及客户端断线重连的判断条件;
  • [优化] 优化客户端与服务端连接已建立且准备就绪状态判断的准确性;
  • [优化] 优化服务端与客户端构建方式支持手动创建实例;
  • [优化] 代码优化配置及相关文档内容更新;

Web框架 (WebMVC)

  • [新增] 调整框架初始化逻辑使各模块支持通过编码方式配置(非配置文件)启动;
  • [新增] 优化配置并新增错误处理器接口默认实现以及针对Web开发中常用的工具方法和响应结果处理工具类(大量移植Framework项目中的稳定代码);
  • [新增] 添加获取控制器请求映射接口方法;
  • [新增] 请求分发器新增默认Content-Type设置项;
  • [优化] 移动MimeTypeUtilsStringEscapeUtils两个工具类至核心包;
  • [优化] 被注册的控制器类不强制必须使用@Controller注解声明;
  • [优化] 优化错误消息处理;
  • [优化] 优化配置读取及错误消息处理;
  • [优化] 优化JspView输出流编码问题;
  • [优化] 为上传文件包装器接口新增并实现直接获取临时文件File对象方法;
  • [优化] 被拦截目标方法的返回值类型为void则通过异常向上层返回拦截器执行结果;
  • [优化] 修正二进制视图BinaryView对象输出字符串内容长度的判断;
  • [优化] 修正Freemarker配置对象初始化后未赋值全局变量;
  • [优化] 代码优化配置及相关文档内容更新;
最后提交信息为: Release v2.0.6
Java
1
https://gitee.com/suninformation/ymate-platform-v2.git
git@gitee.com:suninformation/ymate-platform-v2.git
suninformation
ymate-platform-v2
ymate-platform-v2

搜索帮助