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日志并进行多维度分析。
相关文章
|
4月前
|
Java 数据库
在Java中使用Seata框架实现分布式事务的详细步骤
通过以上步骤,利用 Seata 框架可以实现较为简单的分布式事务处理。在实际应用中,还需要根据具体业务需求进行更详细的配置和处理。同时,要注意处理各种异常情况,以确保分布式事务的正确执行。
|
4月前
|
消息中间件 Java Kafka
在Java中实现分布式事务的常用框架和方法
总之,选择合适的分布式事务框架和方法需要综合考虑业务需求、性能、复杂度等因素。不同的框架和方法都有其特点和适用场景,需要根据具体情况进行评估和选择。同时,随着技术的不断发展,分布式事务的解决方案也在不断更新和完善,以更好地满足业务的需求。你还可以进一步深入研究和了解这些框架和方法,以便在实际应用中更好地实现分布式事务管理。
|
3月前
|
存储 安全 Java
Java 集合框架中的老炮与新秀:HashTable 和 HashMap 谁更胜一筹?
嗨,大家好,我是技术伙伴小米。今天通过讲故事的方式,详细介绍 Java 中 HashMap 和 HashTable 的区别。从版本、线程安全、null 值支持、性能及迭代器行为等方面对比,帮助你轻松应对面试中的经典问题。HashMap 更高效灵活,适合单线程或需手动处理线程安全的场景;HashTable 较古老,线程安全但性能不佳。现代项目推荐使用 ConcurrentHashMap。关注我的公众号“软件求生”,获取更多技术干货!
56 3
|
4月前
|
JSON Java Apache
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
287 3
|
18天前
|
存储 缓存 Java
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
68 3
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
|
2月前
|
并行计算 算法 Java
Java中的Fork/Join框架详解
Fork/Join框架是Java并行计算的强大工具,尤其适用于需要将任务分解为子任务的场景。通过正确使用Fork/Join框架,可以显著提升应用程序的性能和响应速度。在实际应用中,应结合具体需求选择合适的任务拆分策略,以最大化并行计算的效率。
61 23
|
4月前
|
存储 缓存 安全
Java 集合框架优化:从基础到高级应用
《Java集合框架优化:从基础到高级应用》深入解析Java集合框架的核心原理与优化技巧,涵盖列表、集合、映射等常用数据结构,结合实际案例,指导开发者高效使用和优化Java集合。
82 4
|
4月前
|
开发框架 Java 关系型数据库
Java哪个框架适合开发API接口?
在快速发展的软件开发领域,API接口连接了不同的系统和服务。Java作为成熟的编程语言,其生态系统中出现了许多API开发框架。Magic-API因其独特优势和强大功能,成为Java开发者优选的API开发框架。本文将从核心优势、实际应用价值及未来展望等方面,深入探讨Magic-API为何值得选择。
150 2
|
4月前
|
前端开发 Java 数据库连接
你不可不知道的JAVA EE 框架有哪些?
本文介绍了框架的基本概念及其在编程领域的应用,强调了软件框架作为通用、可复用的软件环境的重要性。文章分析了早期Java EE开发中使用JSP+Servlet技术的弊端,包括可维护性差和代码重用性低等问题,并阐述了使用框架的优势,如提高开发效率、增强代码规范性和可维护性及提升软件性能。最后,文中详细描述了几种主流的Java EE框架,包括Spring、Spring MVC、MyBatis、Hibernate和Struts 2,这些框架通过提供强大的功能和支持,显著提升了Java EE应用的开发效率和稳定性。
293 1
|
4月前
|
Java 数据库连接 API
Spring 框架的介绍(Java EE 学习笔记02)
Spring是一个由Rod Johnson开发的轻量级Java SE/EE一站式开源框架,旨在解决Java EE应用中的多种问题。它采用非侵入式设计,通过IoC和AOP技术简化了Java应用的开发流程,降低了组件间的耦合度,支持事务管理和多种框架的无缝集成,极大提升了开发效率和代码质量。Spring 5引入了响应式编程等新特性,进一步增强了框架的功能性和灵活性。
84 0

热门文章

最新文章