YMP 2.1.2 发布,轻量级 Java 应用开发框架


YMP 是一个非常简单、易用的轻量级 Java 应用开发框架,涵盖 AOP、IoC、WebMVC、ORM、Validation、Plugin、Serv、Cache 等特性,主要技术特点:

  • 采用组件化、模块方式打包,可按需装配,灵活可扩展;

  • 采用微内核实现 AutoScan、AOP、IoC、Events 等,涵盖 SSH 和 SSM 框架中绝大部分核心功能;

  • 统一配置体系结构,感受不一样的文件资源配置及管理模式;

  • 整合多种日志系统(Log4j、JCL、Slf4j 等)、日志文件可分离存储;

  • 轻量级持久化层封装,针对 RDBMS(MySQL、SQL Server、Oracle、PostgreSQL)和 NoSQL(MongoDB、Redis)提供支持;

  • 完善的插件机制,助力于更细颗粒度的业务拆分;

  • 独特的独立服务(Serv)开发体验;

  • 功能强大的验证框架,完全基于 Java 注解,易于使用和扩展;

  • 灵活的缓存服务,支持 EhCache、Redis 和多级缓存(MultiLevel)技术;

  • 配置简单的 MVC 架构,强大且易于维护和扩展,支持 RESTful 风格,支持 JSP、HTML、Binary、Freemarker、Velocity 等多种视图技术;

官网及文档已同步更新,新版本已提交至 Maven 中央库,可以通过以下配置获取各模块依赖:

<dependency>
   <groupId>net.ymate.platform</groupId>
   <artifactId>ymate-platform-<MODULE_NAME></artifactId>
   <version>2.1.2</version>
</dependency>

请将<MODULE_NAME>替换为具体模块名,模块详见: Maven Central - Search (sonatype.com)

 

相关链接:

GitHub:https://github.com/suninformation/ymate-platform-v2

Gitee: https://gitee.com/suninformation/ymate-platform-v2

   文档: https://ymate.net/guide/

 

主要更新内容:

【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】

  • 更新依赖包版本

  • 更新文档及配置

 

One More Thing

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

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

 


相關推薦

2022-11-03

Apache Dubbo 是一款高性能、轻量级的开源 Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用、智能容错和负载均衡,以及服务自动注册和发现。Apache Dubbo 3.1.1 现已发布,具体更新内容包括: 错误修复和优化 相

2023-05-18

Apache Dubbo 是一款高性能、轻量级的开源 Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用、智能容错和负载均衡,以及服务自动注册和发现。Apache Dubbo 3.2.1 现已发布,具体更新内容包括: Feature 添加跟踪启动

2022-10-15

DManer元数建模软件(v4版本)介绍:PDManer [元数建模]-v4.0.0 发布:一款简单好用的数据库建模平台 4.2.0 版本升级内容清单 增加从EXCEL文件中导入表结构功能 增加Rust支持,在此感谢 @百小僧 的大力支持 增加

2023-02-11

杂的即时通讯算法交由 SDK 开发人员,从而解偶即时通讯应用开发的复杂性。 五、MobileIMSDK 框架组成 整套 MobileIMSDK 框架由以下 5 部分组成: Android 客户端 SDK:用于 Android 版即时通讯客户端,支持 Android 2.3 及以上,查看 API

2023-10-09

复杂的即时通讯算法交由SDK开发人员,从而解偶即时通讯应用开发的复杂性。 五、MobileIMSDK框架组成 整套MobileIMSDK框架由以下7部分组成: Android客户端SDK:用于Android版即时通讯客户端,支持Android 2.3及以上,查看API文档;

2022-09-06

项目介绍 MiniDao 是一款轻量级 JAVA 持久层框架,基于 SpringJdbc + freemarker 实现,具备 Mybatis 一样的 SQL 分离和逻辑标签能力。Minidao 产生的初衷是为了解决 Hibernate 项目,在复杂 SQL 具备 Mybatis 一样的灵活能力,同时支持事务同

2023-05-09

以避免这些拆分问题。在开发阶段中,我们可以使用单体应用开发思维,降低了开发成本。通过单体应用的开发方式,在开发分步式项目时,调试更加的方便;这既能兼顾分步式开发、项目模块的拆分,又能降低团队的开发成本

2022-10-18

Java 国产的轻量级应用开发框架。可用来快速开发 Java 应用项目。主框架仅 0.1 MB。Helloworld: @Controller public class App { public static void main(String[] args) { Solon.start(App.class, args); } @Get @WebSocket @Mapping("/hello") public String hello(@Param(defaultVa

2023-08-08

以避免这些拆分问题。在开发阶段中,我们可以使用单体应用开发思维,降低了开发成本。通过单体应用的开发方式,在开发分步式项目时,调试更加的方便;这既能兼顾分步式开发、项目模块的拆分,又能降低团队的开发成本

2024-08-09

置的其他功能 内置多种可选模块,可按需选择,以方便应用开发: 领域事件 (轻量级单机最快 MQ -- disruptor;通过领域事件模块,可为你的系统实现类似 Guava-EventBus、Spring 事件驱动模型 ApplicationEvent、业务解耦、规

2024-07-25

置的其他功能 内置多种可选模块,可按需选择,以方便应用开发: 领域事件 (轻量级单机最快 MQ -- disruptor;通过领域事件模块,可为你的系统实现类似 Guava-EventBus、Spring 事件驱动模型 ApplicationEvent、业务解耦、规

2022-07-23

强、错误修复、依赖升级和文档更新。 Spring Batch 是一个轻量级且功能全面的批处理框架,使用 Spring 和 Java 编写离线和批处理应用程序,旨在为开发对企业系统日常运行至关重要的批处理应用程序提供支持。 改进对 Java Records

2024-10-10

置的其他功能 内置多种可选模块,可按需选择,以方便应用开发: 领域事件 (轻量级单机最快 MQ -- disruptor;通过领域事件模块,可为你的系统实现类似 Guava-EventBus、Spring 事件驱动模型 ApplicationEvent、业务解耦、规

2024-07-09

置的其他功能 内置多种可选模块,可按需选择,以方便应用开发: 领域事件 (轻量级单机最快 MQ -- disruptor;通过领域事件模块,可为你的系统实现类似 Guava-EventBus、Spring 事件驱动模型 ApplicationEvent、业务解耦、规避并发