Score
0
Watch 105 Star 186 Fork 76

hechuan / jadJava

Create your Gitee Account
Explore and code with more than 5 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Without author's permission, this code is only for learning and cannot be used for other purposes.
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

jad

JAD旨在为程序员提供一个高效的自动化开发平台,它涉及互联网JAVA后台技术基础架构的方方面面,比如持久化技术,缓存,分布式远程调用与微服务等等。同时,它内置了大部分信息化系统中所需要的会员管理权限控制流程管理cms内容管理oa办公自动化等业务模块供业务开发人员直接使用。 目前项目已经在开源中国码云平台上开源,

代码地址:

https://git.oschina.net/457049726/jad

eclipse插件下载地址:

http://pan.baidu.com/s/1c1Rxoy8

官网网址:

http://www.openjad.com

后台演示网址:

http://demo.openjad.com/a

后台用户名/密码:

admin/admin

后台dubbo服务治理用户名/密码:

guest/guest

jad简介

JAD集成jeesite、dubbo、kisso等多个优秀的开源项目,重构整合而成的高效,高性能的开源Java EE快速开发平台。以“小项目做的快、大项目做的好”为原则,提供快速的层次清晰的渐进式业务开发模式,功能强大。 JAD以Spring Framework为基础框架,以Spring MVC为模型视图控制器,在数据访问层上同时支持hibernaetMyBatisspring jpa,以Apache Shiro为权限授权层,以Activit为工作流引擎,在缓存方面,它同时支持EhcaheMemCacheRedis,开发团队可以跟据自身的技术特性,选择自己熟悉的技术组合作为自己的项目架构。

AD可用于企业信息化领域,已内置企业信息化系统的基础功能模块,包括:权限组件数据字典组件核心工具组件工作流组件CMS内容管理OA办工自动化微信接口等。 同时JAD可用于互联网领域,自动生成rest ful风格的api文档,方便前后端联调。在架构上,JAD以“业务与逻辑相分离”为原则,做业务的只写业务代码,做架构的只负责架构。JAD不仅仅支持传统的单体项目架构,也支持分布式微服务架构,具有很强的扩展性与可移植性。业务开发方面,JAD提供高度可定制化的Eclipse插件作为可视化ide,开发人员可以跟据自已项目的特性定制适合自己项目的代码生成器,大大提高开业务开发效率。目前,JAD内置的代码生成器主要有:创建项目、生成CURD代码等等。 综上所述,JAD是快速完成项目的最佳基础平台解决方案,也是想学习Java平台的最佳学习案例。

项目特色

1、采用业务与逻辑相分离的架构,具有很强的扩展性与可移值性。
2、项目架构灵活,不仅支持传统的单体项目架构,也支持基于dubbo的分布式微服务架构。
3、采用自主研发的Eclipse插件来实现项目创建和代码自动生成。
4、对常用的ORM框架进行了简单的封装和约定,同时支持ibernatemybatisspring jpa,并支持多表关联。
5、对常见的缓存框架进行简单的封装,同时支持EhCacheMemCacheRedis等缓存引擎。
6、权限认证方面,同时支持传统的认证方式,也支持可跨域的单点登录。

业务功能说明

1、基于角色的权限访问控制模块。采用流行的shiro实现在基于角色的权限访问,包括会员管理、角色管理、菜单管理、权限管理等子模块。
2、自带cms内容管理模块。
3、集成activiti,提供了工作流系统,作为oa办工自动化模块的流程引擎(开发中。。。)
4、本项目实现了微信接口(开发中。。。)
以上各个业务模块之间相互独立,开发人员可以跟据自己的需要任意选择自己的想要的模块。并且可以以传统的单体项目架构方式集成各个个模块,也可以以微服务的方式分布式部署各个模块。

逻辑功能说明

1、提供可高度定制化的Eclipse插件来自动创建和配置项目及自动生成CURD业务代码。
2、可自动生成业务api,方便前后端连调与测试。
3、同时支持EhCache、MemCache、Redis等缓存引擎。
4、权限认证方面,同时支持传统的认证方式,也支持可跨域的单点登录。
5、集成dubbo,可用分布式微服务架构部署项目。
6、提供应用层waf防火墙,防止sql注入及xss脚本攻击。
7、提供测试框架。
8、提供常用工具类。
9、提供项目Demo以及快速生成项目的向导。

项目架构

JAD项目各个业务模块之间相互独立,各层之间耦合度底,跟据项目的规模和业务量的大小。系统架构师可以选择性的使用传统的单体项目架构,或者分布式的微服务架构。

总体架构

JAD项目总体架构图如下:

项目总体架构

单体项目架构

在传统的简单项目中,各个业务模块都是集成在同一个项目中一起部署,这种项目简单粗暴,易于部署和发布。JAD单体项目架构图如下所示: JAD单体项目架构图 ###微服务架构 如果项目模块比较复杂,业务量比较庞大,可考虑采用微服务架构模式。在这种架构下,每个业务模块被单独部署为一个独立的服务提供者,采用dubbo暴露成服务,并将之发布到注册中心,架构图如下: 微服务架构

核心技术

JAD框架用到的技术比较多,但并不是所有技术都需要掌握,开发人员可跟据自己的项目需要选用相应模块,并跟据需要去学习和了解其依赖的技术。

后端技术选型

核心框架:Spring Framework 4.2.8.RELEASE
安全框架:Apache Shiro 1.2
视图框架:Spring MVC 4.1
服务端验证:Hibernate Validator 5.2
布局框架:SiteMesh 2.4
工作流引擎:Activiti 5.21
任务调度:Spring Task 4.1
持久层框架:MyBatis 3.2、Hibernate 5.1.0.Final、Spring jpa 1.10.5.RELEASE
数据库连接池:Alibaba Druid 1.0
数据库:目前仅支持mysql
缓存框架:Ehcache 2.6、Redis、Memcache 2.5.1
日志管理:SLF4J 1.7、Log4j
服务框架:Dubbo 2.5.3

前端技术选型

JS框架:jQuery 1.9。
CSS框架:Twitter Bootstrap 2.3.1(稳定是后台,UI方面根据需求自己升级改造)。
客户端验证:JQuery Validation Plugin 1.11。
富文本在线编辑:CKEditor
在线文件管理:CKFinder
动态页签:Jerichotab
手机端框架:Jingle
数据表格:jqGrid
对话框:jQuery jBox
下拉选择框:jQuery Select2
树结构控件:jQuery zTree
日期控件: My97DatePicker

特别鸣谢

Jeesite作者和它的团队
Kisso作者和它的团队
koala作者和它的团队
dubbo作者和它的团队

版权声明

JAD集成了jeesite、dubbo、kisso等多个优秀的开源项目。在开源精神的熏陶下,作者承诺,JAD项目全面开源,并可永久免费使用。开发人员可以使用本项目的所有源代码,可以在此基础上开发出满足任何需求的业务系统,用于学习,或者服务于自己的商业客户。
但是严禁把此项目通过重构和分离出部分功能模块做成自己的软件产品以任何盈利的方式出售给同行开发者。比如严禁把这个项目的前端ui部分自己改造,换一身好看的皮,然后以收费的形式卖给后台开发者。作者的初衷是希望大家能团结起来,共同学习共同完善共同使用。

技术交流

qq技术交流群:619142526

团队组建

当前项目还有很多地方需要完善,比如前端ui、业务细节完善等等。另外,还有诸如消息中间件、定时调度等功能还没有开始做。我一个人无法顾及整个项目的所有方面,希望能找到一些志同首合的朋友一起来学习和完善。对这个项目有兴趣的朋友可以与我联系。
作者邮箱 :54hechuan@163.com
作者微信 :piaolouping2999

微信公众号

想及时关注本项目信息,可用微信扫一下二维码关注本人的微信公众号
欢迎关注本人公众号:JAVA践行者

赞助作者

如果你觉得jad项目不错,别忘了赞助一下作者,请作者喝杯咖啡,你的支持就是我最大的动力
赞助作者

Comments ( 15 )

Sign in for post a comment

About

JAD旨在为程序员提供一个高效的自动化开发平台,它涉及互联网JAVA后台技术基础架构的方方面面,比如持久化技术,缓存,分布式远程调用与微服务等等。同时,它内置了大部分信息化系统中所需要的会员管理、权限控制、流程管理、cms内容管理、oa办公自动化等业务模块供业务开发人员直接使用。 spread retract
Cancel

Releases

No release

Gitee Metrics

Contributors

All

Activities

load more
can not load any more