YMP v2.0.1 发布,轻量级 Java 应用开发框架

简介:

本次版本更新主要针对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]

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
算法 Java 数据处理
Java集合框架的优缺点
Java集合框架的优缺点
|
4天前
|
存储 安全 物联网
使用 Java 进行物联网(IoT)应用开发
【4月更文挑战第19天】Java,凭借其跨平台特性和丰富库,成为物联网开发热门选择。开发者利用Java进行物联网应用开发,可实现设备连接、数据处理、数据库管理及安全保障。熟悉Java基础、物联网知识、数据通信和数据库管理是必备技能。利用MQTT客户端、数据存储框架和可视化工具能提升开发效率。随着物联网发展,Java在该领域的影响力将持续增强。
|
4天前
|
Java Maven 开发工具
《Java 简易速速上手小册》第5章:Java 开发工具和框架(2024 最新版)
《Java 简易速速上手小册》第5章:Java 开发工具和框架(2024 最新版)
25 1
|
8天前
|
Java 大数据 云计算
Spring框架:Java后台开发的核心
【4月更文挑战第15天】Spring框架在Java后台开发中占据核心位置,因其控制反转(IoC)、面向切面编程(AOP)、事务管理等特性提升效率和质量。Spring提供数据访问集成、RESTful Web服务和WebSocket支持。优势包括高效开发、灵活扩展、强大生态圈和广泛应用。应用于企业级应用、微服务架构及云计算大数据场景。掌握Spring对Java开发者至关重要。
|
11天前
|
存储 Java 编译器
Java集合丛林:深入了解集合框架的秘密
Java集合丛林:深入了解集合框架的秘密
15 0
Java集合丛林:深入了解集合框架的秘密
|
15天前
|
存储 Java 数据库连接
java使用mp持久化框架,写入5000个字符,但是VARCHAR(255) 会报错
使用Java的MyBatis Plus框架时,如果尝试将超过VARCHAR(255)限制的字符串(如5000个字符)存入数据库,会抛出异常。解决方法是将列类型改为TEXT。可通过在实体类属性上添加`@TableField(typeHandler = JdbcType.CLOB)`注解,如`private String content;`,将属性映射到CLOB类型列,以存储更长字符串。
9 0
|
15天前
|
存储 Java
java反射——设计框架的灵魂
java反射——设计框架的灵魂
|
20天前
|
前端开发 安全 Java
使用Java Web框架:Spring MVC的全面指南
【4月更文挑战第3天】Spring MVC是Spring框架的一部分,用于构建高效、模块化的Web应用。它基于MVC模式,支持多种视图技术。核心概念包括DispatcherServlet(前端控制器)、HandlerMapping(请求映射)、Controller(处理请求)、ViewResolver(视图解析)和ModelAndView(模型和视图容器)。开发流程涉及配置DispatcherServlet、定义Controller、创建View、处理数据、绑定模型和异常处理。
使用Java Web框架:Spring MVC的全面指南
|
22天前
|
Java 关系型数据库 数据库连接
52 类 110 个常用 Java 组件和框架整理
52 类 110 个常用 Java 组件和框架整理
15 0
|
1月前
最全三大框架整合(使用映射)——DeptAction.java
最全三大框架整合(使用映射)——DeptAction.java
4 0

热门文章

最新文章