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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

本次版本更新主要针对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日志并进行多维度分析。
相关文章
|
19天前
|
安全 前端开发 Java
随着企业应用复杂度提升,Java Spring框架以其强大与灵活特性简化开发流程,成为构建高效、可维护应用的理想选择
随着企业应用复杂度提升,Java Spring框架以其强大与灵活特性简化开发流程,成为构建高效、可维护应用的理想选择。依赖注入使对象管理交由Spring容器处理,实现低耦合高内聚;AOP则分离横切关注点如事务管理,增强代码模块化。Spring还提供MVC、Data、Security等模块满足多样需求,并通过Spring Boot简化配置与部署,加速微服务架构构建。掌握这些核心概念与工具,开发者能更从容应对挑战,打造卓越应用。
31 1
|
24天前
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
|
6天前
|
Java 数据库连接 Apache
Java进阶-主流框架总结与详解
这些仅仅是 Java 众多框架中的一部分。每个框架都有其特定的用途和优势,了解并熟练运用这些框架,对于每一位 Java 开发者来说都至关重要。同时,选择合适框架的关键在于理解框架的设计哲学、核心功能及其在项目中的应用场景。随着技术的不断进步,这些框架也在不断更新和迭代以适应新的开发者需求。
18 1
|
8天前
|
存储 Java 程序员
Java中的集合框架:从入门到精通
【8月更文挑战第30天】在Java的世界里,集合框架是一块基石,它不仅承载着数据的存储和操作,还体现了面向对象编程的精髓。本篇文章将带你遨游Java集合框架的海洋,从基础概念到高级应用,一步步揭示它的奥秘。你将学会如何选择合适的集合类型,掌握集合的遍历技巧,以及理解集合框架背后的设计哲学。让我们一起探索这个强大工具,解锁数据结构的新视角。
|
9天前
|
存储 算法 Java
Java中的集合框架深度解析云上守护:云计算与网络安全的协同进化
【8月更文挑战第29天】在Java的世界中,集合框架是数据结构的代言人。它不仅让数据存储变得优雅而高效,还为程序员提供了一套丰富的工具箱。本文将带你深入理解集合框架的设计哲学,探索其背后的原理,并分享一些实用的使用技巧。无论你是初学者还是资深开发者,这篇文章都将为你打开一扇通往高效编程的大门。
|
7天前
|
存储 算法 Java
Java中的集合框架深度解析与实践
【8月更文挑战第31天】在Java编程的海洋中,集合框架扮演着不可或缺的角色。本文将带你领略Java集合框架的魅力,从理论到实践,深入浅出地探索List、Set和Map等核心接口的使用技巧。我们将通过具体代码示例,展示如何在日常开发中高效运用这些工具,让你的代码更加优雅和高效。无论你是初学者还是有经验的开发者,这篇文章都将为你打开一扇通往Java集合世界的大门。
|
15天前
|
并行计算 算法 Java
Java 中的 fork-join 框架详解
【8月更文挑战第23天】
39 0
|
17天前
|
SQL Java 数据库连接
【Java 第十三篇章】MyBatis 框架介绍
MyBatis 原名 iBATIS,2001 年由 Clinton Begin 创建,以其简易灵活著称。2010 年更名以重塑品牌形象。MyBatis 通过 SQL 映射文件将 SQL 语句与 Java 代码分离,支持编写原生 SQL 并与方法映射。具备对象关系映射功能,简化数据库记录处理。支持动态 SQL 构建,灵活应对不同查询条件。内置缓存机制,提升查询效率。相比全功能 ORM,MyBatis 提供更高 SQL 控制度和更好的维护性,并易于与 Spring 等框架集成,广泛应用于 Java 数据访问层。
10 0
|
17天前
|
设计模式 JSON 前端开发
【Java 第十二篇章】SpringMvc 框架介绍
Spring MVC 是 Spring 框架中的模块,采用 MVC 设计模式构建 Web 应用。核心组件包括 DispatcherServlet、Controller、Model 和 View。流程始于 DispatcherServlet 接收并分发请求至 Controller,Controller 处理业务逻辑并与 Model 交互,再通过 View 展示结果。优势包括松耦合架构支持多种视图技术,强大的请求处理和数据绑定功能简化开发,以及易于与其他 Spring 模块和第三方库集成。
9 0
|
17天前
|
Java 数据库连接 数据库
【Java 第十一篇章】Spring 框架介绍
Spring 是广泛用于企业级 Java 开发的开源框架,提供轻量级解决方案,助力构建灵活、可维护的应用。核心组件包括 IOC 容器、AOP、MVC、JDBC/ORM、事务处理及远程调用。依赖注入(DI)是其核心特性之一,允许容器自动管理对象间的依赖关系,提升代码的可测试性和解耦。面向切面编程(AOP)则支持将横切关注点(如日志、事务)与业务逻辑分离,促进代码复用和关注点分离。Spring 的 IoC 容器负责对象的创建和管理,简化对象的生命周期管理。Spring 框架具备低侵入性设计,易于整合主流技术栈。
14 0
下一篇
DDNS