ymateplatform

YMP开发框架是一套轻量级的JAVA应用开发框架,具有统一的配置体系结构、系统与业务日志分离、插件化开发模式、简单轻量的MVC和持久化支持等特性;

View the Project on GitHub suninformation/ymateplatform

概述

YMP框架是什么?

YMP(yMatePlatform)开发框架是一套轻量级的JAVA应用开发框架,开发初衷只是想按自己的编码习惯,尽量采用最简单的方式实现我需要的东西,达到简化工作任务、统一开发流程为目标,能够减轻一点点的工作压力,让开发变成快乐的事!

在开发过程中,参考了很多优秀的开源项目,如:Hibernate、Struts、Struts2、iBatis、DBUtils、Spring JDBC、String MVC等等,它们都太优秀、太强大也太复杂了,但针对于我所参与的项目来说,有些特性基本无用武之地,反倒成了“累赘”,因此我决定冒天下之大不韪,去掉“累赘”重新造轮子,就这样YMP诞生了!

知识需要共享,我们才能进步,开源才是技术发展的力量源泉,我尊重开源,热爱分享,理解劳动为我们带来的价值,个人的力量始终有限,希望大家能够通过了解更多的开源技术,掌握更多的知识,让我们一起交流心得!

YMP框架有哪些特性?

YMP框架模块功能介绍

配置体系模块

配置体系模块,是一套简单的结构化开发模式,目的是让开发流程统一和规范,提供模块化开发和集成部署能力的解决方案;

配置体系结构按优先级由低到高划分三层,即:全局->项目->模块,其特性如下:

配置体系结构从开发角度解决了模块化开发流程和规范的统一、资源文件的生命周期管理;从维护角度解决了模块化集中式管理,将全部资源集成在整个体系中,其具备有效的资源重用和灵活的系统集成构建、部署和数据备份与迁移等特点;

更多内容参见:配置体系模块使用详解

日志模块

基于Log4J开源日志框架实现,采用XML文件配置日志记录器,对日志记录器对象提供统一生命周期管理,开发过程可以在任意位置调用任日志记录器输出日志,实现系统与业务日志的分离;

框架目前提供了两种日志记录器扩展实现,分别是:

更多内容参见:日志模块使用详解

插件模块

插件模块的设计目标是为了在接口开发模式下,可以将任务划分更细颗粒度,可以通过插件灵活变更接口实现;

由于插件采用独立的ClassLoader类加载器来管理私有jar包、类、资源文件等,所以插件之间的调用依赖业务接口;

插件工厂类负责分析、加载和初始化,插件是单例的,即所有可装载的插件在加载后被实例化并由插件工厂维护其生命周期;

更多内容参见:插件模块使用详解

MVC模块

MVC模块是一个基于模型、试图和控制器的抽象框架层,在抽象框架基础上分别面向Web应用开发(WebMVC)和面向独立服务程序(ServerMVC)开发提供了扩展支持,使两种应用场景均采用统一的开发模式,即通过简单的配置调整,两种场景的代码可以通用,从而达到降低学习、开发的成本,其具备以下功能特征:

MVC模块提供了、注册和,并与插件模块整合,

更多内容参见:MVC模块使用详解

持久化模块

持久化模块目前基于JDBC框架API进行轻量封装,针对关系型数据库(RDBMS)数据存取的一套简单解决方案,主要关注数据存取的效率、易用性和透明,其具备以下功能特征:

更多内容参见:持久化模块使用详解

验证模块

验证模块是参数有效性验证工具,对类方法的参数通过Annotation注解方式声明其验证规则,返回验证结果,并支持I18N;

通过实现IValidator接口或继承AbstractValidator类,可自定义验证器并注册到验证模块;

更多内容参见:验证模块使用详解

模块管理器

模块管理器负责YMP框架各模块的加载、初始化工作,模块的加载顺序、参数配置等均由ymp-conf.properties文件统一配置,请阅读框架初始化配置文件详细说明

用户可以通过实现IModule接口,开发自定义模块,并将其添加到配置文件的模块加载列表中即可;

更多内容参见:模块管理器使用详解