All Projects → suninformation → Ymate Platform V2

suninformation / Ymate Platform V2

Licence: apache-2.0
YMP是一个非常简单、易用的轻量级Java应用开发框架,涵盖AOP、IoC、WebMVC、ORM、Validation、Plugin、Serv、Cache等特性,让开发工作像搭积木一样轻松!

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Ymate Platform V2

Springbootlearning
《Spring Boot教程》源码
Stars: ✭ 2,065 (+1848.11%)
Mutual labels:  redis, mongodb, cache
Endb
Key-value storage for multiple databases. Supports MongoDB, MySQL, Postgres, Redis, and SQLite.
Stars: ✭ 208 (+96.23%)
Mutual labels:  redis, mongodb, cache
Strapi Middleware Cache
🔌 A cache middleware for https://strapi.io
Stars: ✭ 146 (+37.74%)
Mutual labels:  redis, cache, plugin
Cachego
Golang Cache component - Multiple drivers
Stars: ✭ 148 (+39.62%)
Mutual labels:  redis, mongodb, cache
Cache
Cache library
Stars: ✭ 310 (+192.45%)
Mutual labels:  redis, mongodb, cache
Spring Dubbo Service
微服务 spring dubbo项目:dubbo rpc;druid数据源连接池;mybatis配置集成,多数据源;jmx监控MBean;定时任务;aop;ftp;测试;Metrics监控;参数验证;跨域处理;shiro权限控制;consul服务注册,发现;redis分布式锁;SPI服务机制;cat监控;netty服务代理;websocket;disconf;mongodb集成;rest;docker;fescar
Stars: ✭ 224 (+111.32%)
Mutual labels:  validation, redis, mongodb
Phpfastcache
A high-performance backend cache system. It is intended for use in speeding up dynamic web applications by alleviating database load. Well implemented, it can drops the database load to almost nothing, yielding faster page load times for users, better resource utilization. It is simple yet powerful.
Stars: ✭ 2,171 (+1948.11%)
Mutual labels:  redis, mongodb, cache
Treefrog Framework
TreeFrog Framework : High-speed C++ MVC Framework for Web Application
Stars: ✭ 885 (+734.91%)
Mutual labels:  orm, redis, mongodb
Senparc.co2net
支持 .NET Framework & .NET Core 的公共基础扩展库
Stars: ✭ 289 (+172.64%)
Mutual labels:  redis, cache, configuration
Dtcqueuebundle
Symfony2/3/4/5 Queue Bundle (for background jobs) supporting Mongo (Doctrine ODM), Mysql (and any Doctrine ORM), RabbitMQ, Beanstalkd, Redis, and ... {write your own}
Stars: ✭ 115 (+8.49%)
Mutual labels:  orm, redis, mongodb
Smartsql
SmartSql = MyBatis in C# + .NET Core+ Cache(Memory | Redis) + R/W Splitting + PropertyChangedTrack +Dynamic Repository + InvokeSync + Diagnostics
Stars: ✭ 775 (+631.13%)
Mutual labels:  orm, redis, cache
Kong Plugin Response Cache
A Kong plugin that will cache responses in redis
Stars: ✭ 66 (-37.74%)
Mutual labels:  redis, cache, plugin
Dataengineeringproject
Example end to end data engineering project.
Stars: ✭ 82 (-22.64%)
Mutual labels:  redis, mongodb
Butterfly
🔥 蝴蝶--【简单】【稳定】【好用】的 Python web 框架🦋 除 Python 2.7,无其他依赖; 🦋 butterfly 是一个 RPC 风格 web 框架,同时也是微服务框架,自带消息队列通信机制实现分布式
Stars: ✭ 82 (-22.64%)
Mutual labels:  orm, redis
Spring 5 Examples
This repository is contains spring-boot 2 / spring framework 5 project examples. Using reactive programming model / paradigm and Kotlin
Stars: ✭ 87 (-17.92%)
Mutual labels:  redis, mongodb
Jplusone
Tool for automatic detection and asserting "N+1 SELECT problem" occurences in JPA based Spring Boot Java applications and finding origin of JPA issued SQL statements in general
Stars: ✭ 91 (-14.15%)
Mutual labels:  orm, jdbc
Bankflix
Aplicação que simula um banco digital, contendo a área do cliente e administrativa, permitindo depósitos e transferências entre contas do mesmo banco. | Application that simulates a digital bank, containing the customer and administrative areas, allowing deposits and transfers between accounts of the same bank.
Stars: ✭ 82 (-22.64%)
Mutual labels:  redis, mongodb
Go Sniffer
🔎Sniffing and parsing mysql,redis,http,mongodb etc protocol. 抓包截取项目中的数据库请求并解析成相应的语句。
Stars: ✭ 1,281 (+1108.49%)
Mutual labels:  redis, mongodb
Mongoose Fuzzy Searching
Mongoose Fuzzy Searching Plugin
Stars: ✭ 94 (-11.32%)
Mutual labels:  mongodb, plugin
Dotweb
Simple and easy go web micro framework
Stars: ✭ 1,354 (+1177.36%)
Mutual labels:  redis, cache

YMP ——轻量级JAVA应用开发框架

LOGO

Maven Central status LICENSE

YMP是一个非常简单、易用的一套轻量级JAVA应用开发框架,设计原则主要侧重于简化工作任务、规范开发流程、提高开发效率,让开发工作像搭积木一样轻松是我们一直不懈努力的目标!

主要技术特点

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

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

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

  • 整合多种日志系统(log4j、jcl、slf4j)、日志文件可分离存储;

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

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

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

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

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

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

模块及功能

YMP框架主要是由框架核心(Core)和若干模块(Modules)组成,整体结构非常简约、清晰,如图所示:

Structure

框架核心(Core)

主要负责框架的初始化和模块的加载及其生命周期管理,功能包括:

  • 类对象管理器:提供包类的自动扫描以及Bean生命周期管理、依赖注入和方法拦截等特性;
  • 事件服务:通过事件注册和广播的方式触发和监听事件动作,并支持同步和异步两种模式执行事件队列;
  • 模块:是YMP框架所有功能特性封装的基础形式,负责模块的生命周期管理;
  • 国际化资源管理器:提供统一的资源文件加载、销毁和内容读取,支持自定义资源加载和语言变化的事件监听;
  • 另外,提供了一组自定义的数据结构和框架中需要的各种工具类;

查看文档...

配置体系(Configuration)

通过简单的目录结构实现在项目开发以及维护过程中,对配置等各种文件资源的统一管理,为模块化开发和部署提供灵活的、简单有效的解决方案:

  • 规范模块化开发流程、统一资源文件管理;
  • 具备有效的资源重用和灵活的系统集成构建、部署和数据备份与迁移等优势;
  • 简单的配置文件检索、加载及管理模式;
  • 模块间资源共享,模块可以共用所属项目的配置、类和jar包等资源文件;
  • 默认支持XML和Properties配置文件解析,可以通过IConfigurationProvider接口自定义文件格式,支持缓存,避免重复加载;
  • 配置对象支持注解方式声明,无需编码即可自动加载并填充配置内容到类对象;
  • 修改配置文件无需重启服务,支持自动重新加载;
  • 集成模块的构建与分发、服务的启动与停止*,以及清晰的资源文件分类结构可快速定位;

查看文档...

日志(Log)

基于开源日志框架Log4J 2实现,提供对日志记录器对象的统一管理,可以在任意位置调用任意日志记录器输出日志,实现系统与业务日志的分离,并针对apache-commons-logging日志框架和slf4j日志系统提供支持;

查看文档...

持久化(Persistence)
JDBC

针对关系型数据库(RDBMS)数据存取的一套简单解决方案,主要关注数据存取的效率、易用性和透明,其具备以下功能特征:

  • 基于JDBC框架API进行轻量封装,结构简单、便于开发、调试和维护;
  • 优化批量数据更新、标准化结果集、预编译SQL语句处理;
  • 支持单实体ORM操作,无需编写SQL语句;
  • 提供脚手架工具,快速生成数据实体类,支持链式调用;
  • 支持通过存储器注解自定义SQL语句或从配置文件中加载SQL并自动执行;
  • 支持结果集与值对象的自动装配,支持自定义装配规则;
  • 支持多数据源,默认支持C3P0、DBCP、JNDI连接池配置,支持数据源扩展;
  • 支持多种数据库(如:Oracle、MySQL、SQLServer、SQLite、H2、PostgreSQL等);
  • 支持面向对象的数据库查询封装,有助于减少或降低程序编译期错误;
  • 支持数据库事务嵌套;
  • 支持数据库视图和存储过程;

查看文档...

MongoDB

针对MongoDB的数据存取操作的特点,以JDBC模块的设计思想进行简单封装,采用会话机制,支持多数据源配置和实体操作、基于对象查询、MapReduce、GridFS、聚合及函数表达式集成等,仍需进一步完善改进,文档整理中,敬请期待...

Redis

基于Jedis驱动封装,以JDBC模块的设计思想进行简单封装,采用会话机制,简化订阅(subscribe)和发布(publish)处理,支持多数据源及连接池配置,支持jedisshardsentinelcluster等数据源连接方式;

查看文档...

插件(Plugin)

采用独立的ClassLoader类加载器来管理私有JAR包、类、资源文件等,设计目标是在接口开发模式下,将需求进行更细颗粒度拆分,从而达到一个理想化可重用代码的封装形态;

每个插件都是封闭的世界,插件与外界之间沟通的唯一方法是通过业务接口调用,管理这些插件的容器被称之为插件工厂,负责插件的分析、加载和初始化,以及插件的生命周期管理,插件模块支持创建多个插件工厂实例,工厂对象之间完全独立,无任何依赖关系;

查看文档...

服务(Serv)

一套基于NIO实现的通讯服务框架,提供TCP、UDP协议的客户端与服务端封装,灵活的消息监听与消息内容编/解码,简约的配置使二次开发更加便捷;

同时默认提供断线重连、链路维护(心跳)等服务支持,您只需了解业务即可轻松完成开发工作。

查看文档...

验证(Validation)

服务端参数有效性验证工具,采用注解声明方式配置验证规则,更简单、更直观、更友好,支持方法参数和类成员属性验证,支持验证结果国际化I18N资源绑定,支持自定义验证器,支持多种验证模式;

查看文档...

缓存(Cache)

以EhCache作为默认JVM进程内缓存服务,通过整合外部Redis服务实现多级缓存(MultiLevel)的轻量级缓存框架,并与YMP框架深度集成(支持针对类方法的缓存,可以根据方法参数值进行缓存),灵活的配置、易于使用和扩展;

查看文档...

WebMVC框架

WebMVC模块在YMP框架中是除了JDBC模块以外的另一个非常重要的模块,集成了YMP框架的诸多特性,在功能结构的设计和使用方法上依然保持一贯的简单风格,同时也继承了主流MVC框架的基因,对于了解和熟悉SSH等框架技术的开发人员来说,上手极其容易,毫无学习成本。

其主要功能特性如下:

  • 标准MVC实现,结构清晰,完全基于注解方式配置简单;
  • 支持约定模式,无需编写控制器代码,直接匹配并执行视图;
  • 支持多种视图技术(JSP、Freemarker、Velocity、Text、HTML、JSON、Binary、Forward、Redirect、HttpStatus、Beetl等);
  • 支持RESTful模式及URL风格;
  • 支持请求参数与控制器方法参数的自动绑定;
  • 支持参数有效性验证;
  • 支持控制器方法的拦截;
  • 支持注解配置控制器请求路由映射;
  • 支持自动扫描控制器类并注册;
  • 支持事件和异常的自定义处理;
  • 支持I18N资源国际化;
  • 支持控制器方法和视图缓存;
  • 支持控制器参数转义;
  • 支持插件扩展;

查看文档...

相关阅读

One More Thing

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

感兴趣的小伙伴儿们可以加入 官方QQ群480374360,一起交流学习,帮助YMP成长!

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].