DodoFramework

一个基于代码生成引擎的Java Web自动化开发框架,开发效率提升90+%,后台管理系统秒级生成。上手成本极低:仅需学习如何对实体类加注解即可。

What is Dodo?

一句话概括这个项目:这是一个基于代码生成引擎的Java Web系统自动化开发框架。简单的说,就是一个Java Web整合的基础框架加上一个代码生成引擎。

上手成本极低(几个注解,仅应用在Java 实体类),大众化的基础框架(Spring MVC-5.1、Hibernate-5.4、Freemarker),瞬间生成完全手写代码,代码注释完备,安全健壮,命名规范,可读性高,可维护,可扩展,针对特定需求可轻松修改。

安全稳定的基础框架

基于Spring MVC-5.1、Hibernate-5.4、Freemarker、Druid框架组合

管理系统安全框架:Spring Security-5.2

安全增强:登录加盐,动态Salt、静态Salt;支持随时变换后台访问地址,上线后由运营同学修改,增加安全性

8年使用实践,0问题报告

MVC、DB全代码生成

全代码自动生成:对Java实体注解增强,然后瞬间生成MVC每层代码;代码全注释,修改易维护

生成功能多样可配置,需求轻松应对;无需关心数据库,数据库表自动生成(带注释),数据库表命名规范、可维护;基础数据自动生成;

内置十七种Detector,配置问题提前发现,确保生成系统正常运行,万无一失

节省开发时间

学习成本极低:只需要学习几个注解,而且注解只应用于Java POJO类上

支持近二十种组件,每种组件一个注解搞定,而且支持各种校验、控制,PDF自动在线预览,断点续传,自动取值,文档、视频自动转换展示等等

集成微信SDK,微信开发更快速

HQLHelper:链式编写HQL查询语句,无需了解HQL知识;另外支持JDBC

简单强大的在线报表

在线编辑SQL、配置菜单、配置查询条件、分页筛选、导出Excel、指定子视图等等

精细的权限控制

功能权限、字段权限、行级数据权限、按钮权限等,支持权限委托、权限动态更新

完善的日志记录

业务日志、登录日志、请求日志、Slow Sql日志、后台登录会话查看、踢出

Features

Get Started

POJO 实体类注解

第一步:写好Java 实体类后,使用Dodo注解扩展

    
    @DodoShowColumn(sortSeq = 0)
    @DodoField(name = "产品名称", sortSeq = 0, isRemoteCheck = true, regExp="[A-Za-z0-9]+",regExpTip="只允许输入数字和26个英文字母")
    private String            name;

    @DodoField(name = "产品描述", sortSeq = 5, listable = false, isnullable = false, isRichText = true)
    private String            productDesc;

    @DodoField(name = "产品价格", sortSeq = 1)
    private BigDecimal        price;

    @DodoField(name = "产品积分", sortSeq = 2, max = Integer.MAX_VALUE + "", min = Integer.MIN_VALUE + "")
    private int               buyScore;

    @DodoField(name = "是否全新", sortSeq = 3)
    private Boolean           isNew;

    @DodoField(name = "产品状态", sortSeq = 4, isnullable = false, isRemoteCheck = false)
    private ProductStatus     productStatus;

    @DodoField(name = "产品颜色", sortSeq = 5, isnullable = false, isColor = true)
    private String            productColor;
    

生成代码

第二步:运行代码生成引擎,生成MVC、DB代码数据


16:56:21.791 [main] INFO  c.g.f.p.counter.FileLineCounter - Congratulations:
16:56:21.791 [main] INFO  c.g.f.p.counter.FileLineCounter - Finally:
16:56:21.791 [main] INFO  c.g.f.p.counter.FileLineCounter - You have written: 43 files : 8670 lines
16:56:21.791 [main] INFO  c.g.f.p.counter.FileLineCounter - Generate: 772 files : 381785 lines
16:56:21.791 [main] INFO  c.g.f.p.counter.FileLineCounter - The percentage of generated code is 97.78%:
16:56:21.791 [main] INFO  c.generate.utils.Step_4_GenerateCode - 
16:56:21.791 [main] INFO  c.generate.utils.Step_4_GenerateCode - ******************************************************
16:56:21.791 [main] INFO  c.generate.utils.Step_4_GenerateCode - Step_4_GenerateCode ....Exec OK!
16:56:21.791 [main] INFO  c.generate.utils.Step_4_GenerateCode - Take time -> 00:00:05:037
                    

Coffee time

第三步:刷新、打包、部署;大部分项目产出的管理后台无须任何改动。

License

已开源的全部代码,采用 Apache-2.0 License 授权协议进行发行。

DodoFramework可以被用来完全免费开发不限数量的任何私有的或者商业项目。

将DodoFramework本身(包括以任何形式的修改)作为一个工具或者开发平台、框架而从事商业活动,是不被授权允许的。DodoFramework保留运用法律手段的权利。

在使用过程中,请保留代码中的协议、版权声明和其他原作者规定需要包含的说明。

请了解并知悉,DodoFramework Classic对实体类模型数量无任何限制。DodoFramework Pro社区版实体类模型数量不可超过15个。

DodoFramework Pro无限制授权:获取授权

软著登记号:2019SR0331113

联系我们

组织在这里(QQ①群):678785173