阅读更多
JEECG(J2EE Code Generation)是一款基于代码生成器的智能开发框架,采用代码生成+手工MERGE半智能开发模式,可以帮助你解决Java项目中50%的重复工作,让你更多关注业务逻辑。

JEECG论坛:http://www.jeecg.org
在线演示:http://demo.jeecg.org
入门视频:http://www.jeecg.org/forum.php?mod=viewthread&tid=197&extra=page%3D1

为了使大家对JEECG有进一步的了解,本期我们采访了JEECG的作者张代浩

ITeye期待并致力于为国内优秀的开源项目提供一个免费的推广平台,如果你和你的团队希望将自己的开源项目介绍给更多的开发者,或者你希望我们对哪些开源项目进行专访,请告诉我们,发站内短信给ITeye管理员或者发邮件到webmaster@iteye.com即可。

先做个自我介绍吧! Top

我叫张代浩,英文名scott,属于北漂一族,09年毕业后一直从事金融、对日方向的Java开发,期间在日本东京工作过一段时间。目前在一家重工企业,从事ABAP开发和Java开发工作。



我的博客:CSDN博客ITeye博客
我的邮箱:zhangdaiscott@163.com

JEECG是什么? 有哪些功能? Top

JEECG全称为J2EE Code Generation,即J2EE代码生成器。这是一款基于代码生成器的J2EE智能开发框架,WEB架构基于零配置思想,使用SSH2+EasyUI技术架构。目前 JEECG 的最新版本为2.1.0。

JEECG宗旨:提高开发效率、提高代码质量,打造一个快速开发平台。

JEECG可以有效解决信息孤岛问题,生成统一代码、统一规范、统一设计思路,使你能在这个平台上,快速开发出高效高质量代码,缩短开发周期,降低项目成本。

JEECG详细介绍:http://www.iteye.com/news/26937

JEECG的主要功能如下(*表示JEECG的创新点):

  • (*)封装完善的基础模块:用户权限+数据字典+常用共通封装(定时任务、短信接口、邮件发送、Excel导出等);
  • (*)代码生成器:开发效率非常高,单表数据模型和一对多(父子表)数据模型的增删改查自动生成,功能直接使用;
  • (*)查询条件生成器:查询功能自动生成,后台动态拼SQL追加查询条件;支持多种匹配方式(全匹配/模糊查询/包含查询/不匹配查询);
  • (*)页面表单校验器:采用EasyUI检验机制,表单校验生成器自动生成(必须输入、数字校验、金额校验、时间控件等);
  • (*)集成简易报表:Highcharts图像报表和数据导出非常方便,可极其方便的生成pdf、excel、word等报表。
  • 常用共通封装(数据字典/邮件发送/定时任务/短信接口/Freemarker工具类等)
  • 兼容IE 6、IE 8+和Google等浏览器
  • 支持SQL Server、Oracle和MySQL等主流数据库

开发这个框架的初衷是什么?这不就是一个SSH2框架吗? Top

Java开发是从08年开始,刚参加工作的时候也喜欢追求新技术,感觉那样才能提高自己的能力,后来喜欢研究底层架构,研究了很多技术架构,也试着重写了struts1、spring。但是随着工作久了,慢慢发现研究技术、研究架构意义并不大,Java的新技术层出不穷,更新不断,对于项目来说提高开发效率,提高代码质量才是关键。所以项目中我开始注意抽取共通、设计规范和封装工具类等等。

一个很巧的机会朋友问我,现在代码生成器很多,你看能不能封装一个到框架里?我就试着去写了,Web UI以前也没用过,EasyUI据说不错就试着用它,写的过程中发现通用性很强,我就开始试着用模板语言去实现页面的生成。后来经过逐渐完善,慢慢推出了JEECG。

JEECG其实就是大家再熟悉不过的SSH2+EasyUI框架,只是经过了再封装,增加了代码生成器、表单校验自动生成、查询条件生成器、图形报表封装、常用共通封装的一些功能,目前封装的功能基本能满足一般项目的需求。

目前,工作流正在集成中……

JEECG的设计思想?采用的技术? Top

首先引几段前辈的话:
引用
  1. 十年前,这种代码生成工具的研发就非常火爆,但很快就灭了。因为软件不是家具。软件不在于它的一次性生产成本,而是变更及维护成本。
  2. 当年啊,用python吐出python代码到内存再执行python代码,一段时间后发现代码维护不了了,只能重新再写了一遍。
  3. 大量的代码生成不一定是好事。很多时候团队会被这类工具的限制受困。

根据前辈经验总结到一点:纯粹依赖代码生成器是不可行的,维护是个很大问题,所以我借鉴前辈的经验,推出了代码生成+手工MERGE的半智能开发模式,即:

  • 基础功能(常用数据模型的增删改查)由代码生成器生成使用,生成的代码可以随意修改;
  • 复杂业务逻辑由开发自主实现,这样开发团队就不会受代码生成器的束缚,可灵活实现复杂业务,也能及时应对业务变化。
此外,JEECG采用主流的SSH2+EasyUI技术,生成的代码规范整洁,简单易懂,生成代码目录结构清晰,维护成本很低。

设计思想:

  • JEECG采用主流架构技术,基于约定优于配置,采用命名规范实现零配置,整个项目action、service等自动扫描到Sring容器中;
  • JEECG框架对代码生成器依赖性很低,可以完全脱离代码生成器使用(这种设计避免了开发团队被代码工具的束缚)。
采用技术:

  • 架构技术:Struts2 + Spring3 + Hibernate4 + EasyUI1.3 + Spring JDBC + jQuery
  • 开发环境:MyEclipse6.5 + jdk1.6 + Tomcat6.0

你如何看待这种(自动生成代码)开发模式?对开发者的利弊? Top

随着WEB UI 框架(EasyUI/jQuery UI/ExtJS/Dwz)等的逐渐成熟,系统界面逐渐实现统一化,代码生成器也可生成统一规范的界面!代码生成+手工MERGE半智能开发将是新的趋势,生成的代码可节省50%工作量,快速提高开发效率!!!

客观来说,JEECG 开发模式有利也有弊:

利:

  • 让开发者从机械重复枯燥的工作脱离,更专注业务逻辑实现,提高了开发体验
  • 提高了开发效率,实现了快速开发,缩短了项目周期
  • 对于刚接触Java的人,也可以轻松基于该框架快速构建一套系统(只要会建表,通过表生成代码)
  • 生成统一代码、统一规范、统一设计思路,便于维护
  • 采用开源架构组合,解耦性强,可以完全脱离JEECG代码生成器,灵活自主开发(如果采用成熟智能化产品,项目开发就脱离不了智能开发工具,依赖性太大,变更及维护成本会很高)
弊:

  • 对于开发新人来讲,弊处很多,开发新人正是锻炼编码能力的时候,代码自动生成弱化了开发人员的技能。

哪些代码可以通过JEECG自动生成?原理是什么? Top

JEECG代码生成器可以生成统一的前台页面、页面表单校验和规范的后台代码(Action、Service、Dao、Entity、Page等)。

JEECG代码生成器通过表生成代码,代码实现功能。即:读取表结构和字段属性,生成对应的实体、后台代码、前台页面、表单校验等。

JEECG代码生成的原理和方式:

  • 是基于表来生成代码,针对有规则的表关系模型,生成对应的功能代码;
  • 生成的代码无配置文件,遵循命名规范,基于约束大于配置零配置思想;
  • 生成的action、service、entity、jsp页面等命名规范一致(采用驼峰写法),代码结构清晰也便于维护;
  • 对于复杂业务逻辑,需要用户自己编码实现。这样就解决了复杂业务不断变化,智能化成熟产品难以适应业务不断变更,维护难的问题。
目前JEECG 代码生成器支持的数据模型:

  • 单表数据模型
  • 一对多表(父子表)数据模型
  • 单表数据(自关联)模型

JEECG是你独立开发的,还是有一个团队? Top

目前JEECG是我一人,现在有很多朋友想加入,以后应该会逐渐成立团队。

该项目采用的开源协议?如果作为商业项目的基础开发框架,有什么限制? Top

JEECG 采用 Apache2.0 协议,对于商业使用没有什么限制。

对JEECG 感兴趣的朋友如何交流、反馈、参与贡献? Top

JEECG目前版本发布使用Google Code,地址:http://code.google.com/p/jeecg/

SVN地址:svn://www.oksvn.com/jeecg-jbpm

JEECG已经开设技术论坛,对于JEECG 有好的建议或者发现BUG都可以去论坛发帖。

论坛地址:http://www.jeecg.org/

此外,还可以通过QQ群(106259349、289782002)来交流、反馈。

未来的开发计划? Top

JEECG的未来发展路线主要是两个方向:

 

  • 一个是实现JEECG代码生成器的工具化和通用性;
  • 一个是继续封装当前框架,打造一个快速开发平台;

方向一:【JEECG代码生成器工具化设计方案】

 

目标:

 

  • JEECG代码生成器,抽离出框架,实现解耦设计Struts2、Spring MVC HibernateMybatisEasyUIDWZExtJS等技术灵活组合使用,导入JEECG   JAR支持和模板即可生成对应的代码;
  • JEECG 模块支持用户自定义,类似QQ空间模板,用户按照JEECG 规则,即可自制不同风格模板。

使用方法:将jeecg-generate.jar 导入到项目中,载入JEECG 模板,即可通过工具类生成代码;

 

JEECG 产品模块预期功能说明

 

jeecg-generate.jar 功能

  1. 支持不同数据库
  2. 读取表结构[字段属性]
  3. 根据模板生成代码;

设计原理:

 

  1. jeecg-generate.jar,抽离出框架,做到兼容性友好
  2. jeecg-generate.jar 实现解耦设计,实现Struts2Spring mvc、HibernateMybatisEasyUIDwzExtJS等灵活组合使用

JEECG FTL模板

提供多套模板,针对不同架构技术,提供不同模板,例如:

 

  • Struts2+Spring+Hibernate+EasyUI
  • Struts2+Spring+Mybatis+EasyUI
  • Spring mvc+Hibernate+Freemarker+Dwz
  • Spring mvc+Hibernate+Freemarker+ExtJS

特点:模板支持用户自定义,只需要按照JEECG规则,即可自制不同风格模板

支持表关系模型

  1. 单表数据模型
  2. 自连接数据模型
  3. 一对多(父子表)数据模型
  4. 一对多数据模型中的一张表是自连接
  5. 多对多数据模型
  6. 多对多数据模型中的一张表是自连接

生成代码

生成内容:前台页面+表单校验(必输、数字、金额、时间控件) 后台代码 后台校验 Acton\ServiceI\ServiceImpl\Page\Entity\Dao\Jsp

 

方向二:【JEECG 智能开发平台】

 

后续待完善的五点:

 

  1. JEECG 生成器的进一步完善
  2. 工作流的封装
  3. 智能报表封装
  4. 查询过滤器封装
  5. 外围接口智能化封装

设计方案: 

 

A

【生成器】代码生成器(代码一键生成),实现解藕设计,Struts2spring mvc hibernatemybatis灵活搭配使用

B

【生成器】代码生成器生成的页面,支持用户拖拽页面字段控件,重新布局

C

【工作流】业务流程采用工作流来实现  

特点:保证了业务流程的灵活可变性,逻辑设计清晰,便于日志监控(业务流程变更,业务人员画下流程即可,既灵活又便于监控)

D

【工作流】在页面层实现画流程功能,让开发从流程工作脱离出来,支持用户自定义流程

E

【工作流】支持用户自定义表单

F

【报表】智能化报表工具封装

备注:开发不需要参与,业务员直接配置使用(只需写SQL

G

【查询条件生成器】查询过滤规则进一步封装

备注:页面查询功能: 页面追加查询字段,后台不需写代码,查询条件自动实现完成

追加:大于小于等其他匹配方式;

进一步封装页面查询控件,针对每个匹配方式实现一个控件,让用户直接输入内容,不需要关心采用哪种匹配方式(即:封装匹配规则,增强用户体验)

H

【外围接口】WebService接口实现配置使用,方案:

 

  1. 使用唯一接口实现,传入传出采用报文方式实现
  2. 报文解析实现自动转换,传入传出报文格式定义实现可配置
  3. 接口校验自定义

说明:通过配置来实现一个接口功能,达到无需编码的目的

 

  • 大小: 48.2 KB
  • 大小: 128.8 KB


评论 共 142 条
52 楼 zhangdaiscott 2013-01-25 17:23
总结一下使用心得吧:
首先代码生成器写的不错,代码生成可以直接使用,确实方便 ,不过页面下拉组件需要自己实现;
其次查询的封装也很不错(各种匹配方式),说明作者很有想法,前台页面追加查询字段,后台自动封装成SQL,省去不少麻烦。这两项已经很大程度上提高了开发效率,其他工具类的封装暂时还没用...
一句话吧,这是一个很实用的框架,不过还需要继续完善,支持你,非常期待你在未来开发计划中的构想。。。
51 楼 vineychow 2013-01-25 17:09
我个人觉得playframework目前来说在java集成框架中是最有前景的。
50 楼 zhangdaiscott 2013-01-25 14:52
coldrush 写道
wushexu 写道
zhangdaiscott 写道
coldrush 写道
linliangyi2007 写道
支持楼主的研究,分享,开源的行为,这样的过程对楼主是非常有帮助和收益的,大家也可以对项目的源码进行分析和学习。

但因为市场上同质的产品太多了,基本每个中型以上IT公司都有自己的一套,而且说实话,封装的越多,越缺乏灵活性,性能上也要被打折扣。

还是以学习分享为主吧


说的很对

不知道楼至是否尝试过grails  如果没有的话,建议看看grails是如何做的,我感觉grails在脚手架工具、模版、标签封装层面做的还是很好的,功能强大而不失灵活性。

好的,grails 还是第一次听说,我回头研究下,以前只听过J-HI ,rapid-framework,都是不错的框架

我用grails做了两个项目,用rails做了一个项目。grails在java框架里是很好的。但和rails比差距非常大。


为了比较ror和grails,我特意的学习了ror,有了调查才有发言权么,我发现啊,ror确实比grails要好,真的grails里面有ror的东西,但是感觉就是用起来没有ror爽...(但是我现在仍然用grails的时候多,毕竟一直在做java,grails的学习曲线根本就可以看作直线,呵呵)


我刚简单了解了下grails,它可以实时发布,模型丰富,页面组件也可以,但是偏重,需要home支持!如果jeecg跟他比的话,可能没他成熟,但却是轻量级的,不需要其他组件支持,更重要的是jeecg有基础功能的封装(比如:用户权限,报表,常用共通)
49 楼 coldrush 2013-01-25 14:46
wushexu 写道
zhangdaiscott 写道
coldrush 写道
linliangyi2007 写道
支持楼主的研究,分享,开源的行为,这样的过程对楼主是非常有帮助和收益的,大家也可以对项目的源码进行分析和学习。

但因为市场上同质的产品太多了,基本每个中型以上IT公司都有自己的一套,而且说实话,封装的越多,越缺乏灵活性,性能上也要被打折扣。

还是以学习分享为主吧


说的很对

不知道楼至是否尝试过grails  如果没有的话,建议看看grails是如何做的,我感觉grails在脚手架工具、模版、标签封装层面做的还是很好的,功能强大而不失灵活性。

好的,grails 还是第一次听说,我回头研究下,以前只听过J-HI ,rapid-framework,都是不错的框架

我用grails做了两个项目,用rails做了一个项目。grails在java框架里是很好的。但和rails比差距非常大。


为了比较ror和grails,我特意的学习了ror,有了调查才有发言权么,我发现啊,ror确实比grails要好,真的grails里面有ror的东西,但是感觉就是用起来没有ror爽...(但是我现在仍然用grails的时候多,毕竟一直在做java,grails的学习曲线根本就可以看作直线,呵呵)
48 楼 zhangdaiscott 2013-01-25 10:04
MrLee23 写道
说实话,看了下这个工具生成的代码,感觉后期扩展性一般,维护性一般。
尤其UI这块,必须用easyUI,没有对外接口,这点比较郁闷。

个人觉得生成代码这个东西,是起源是什么,就是因为项目中出现了大量的重复的ctrl+c  ctrl+v,如果是这样为什么不能剥离出来写成base或是util等等,java本身的设计思路就是面向对象的思路,如果出现大量的ctrl+c  ctrl+v,说明项目设计架构有问题。想想,因为这个有了生成代码的这个东西,那我们的项目中会出现大量的ctrl+c  ctrl+v。如果架构设计做的好,其实工作量基本全在业务逻辑上,其他的工作量几乎为零。

所以我建议作者能从架构的思路和java的思想的方向来发展JEECG,到那时候,这就是个神器。。。

纯属扯淡,请勿认真。。。


WEN UI这块不会局限EasyUI,目前已经在着手DWZ的UI扩展,以后还会针对extjs,jquery ui 出不同的模板,模板支还会持自定义,请关注..
47 楼 MrLee23 2013-01-25 09:45
说实话,看了下这个工具生成的代码,感觉后期扩展性一般,维护性一般。
尤其UI这块,必须用easyUI,没有对外接口,这点比较郁闷。

个人觉得生成代码这个东西,是起源是什么,就是因为项目中出现了大量的重复的ctrl+c  ctrl+v,如果是这样为什么不能剥离出来写成base或是util等等,java本身的设计思路就是面向对象的思路,如果出现大量的ctrl+c  ctrl+v,说明项目设计架构有问题。想想,因为这个有了生成代码的这个东西,那我们的项目中会出现大量的ctrl+c  ctrl+v。如果架构设计做的好,其实工作量基本全在业务逻辑上,其他的工作量几乎为零。

所以我建议作者能从架构的思路和java的思想的方向来发展JEECG,到那时候,这就是个神器。。。

纯属扯淡,请勿认真。。。
46 楼 forevercoding 2013-01-25 09:03
请把A-E的功能实现了再上来说 ,F的可以延后,G-H可以先实现...
打酱油的路过
45 楼 zhangdaiscott 2013-01-24 16:50
43 楼 wushexu 2013-01-24 16:45
zhangdaiscott 写道
wushexu 写道
zhangdaiscott 写道
wushexu 写道
我做了个报表引擎(用groovy),在项目中用的很好,非常灵活。目前专注于引擎核心部分,没有报表定义界面(定义是dsl文件)和展示(展示是同事做的)。
这个引擎定义格间的运算关系(包括汇总)很强大,可随意定义公式,支持层次性的表头,支持任意多维度,包括子级维度和次级维度,可任意设置单元格参数(比如cssStyle、cssClass,回填需要的参数)。
以后可能会考虑开源。

是基于excel的吗?

不是。内部是自己定义的模型。excel可以是一种输出。我们现在输出json,前台解析展现。支持text输出,用于控制台测试。

目前fine report是我用过的最好用的报表,你可以参考下,他的基于excel的思想不错

很多报表工具都把主要精力放在定义界面、样式、打印上,真正的核心部分就显得单薄。单元格间稍复杂的运算关系都不能定义。
再说下我这个报表引擎的一个能力:多种类型的selector,多个selector可以组合,对选择的单元格应用一个单元格模板。
42 楼 zhangdaiscott 2013-01-24 16:30
wushexu 写道
zhangdaiscott 写道
wushexu 写道
我做了个报表引擎(用groovy),在项目中用的很好,非常灵活。目前专注于引擎核心部分,没有报表定义界面(定义是dsl文件)和展示(展示是同事做的)。
这个引擎定义格间的运算关系(包括汇总)很强大,可随意定义公式,支持层次性的表头,支持任意多维度,包括子级维度和次级维度,可任意设置单元格参数(比如cssStyle、cssClass,回填需要的参数)。
以后可能会考虑开源。

是基于excel的吗?

不是。内部是自己定义的模型。excel可以是一种输出。我们现在输出json,前台解析展现。支持text输出,用于控制台测试。

目前fine report是我用过的最好用的报表,你可以参考下,他的基于excel的思想不错
41 楼 wushexu 2013-01-24 16:28
zhangdaiscott 写道
wushexu 写道
我做了个报表引擎(用groovy),在项目中用的很好,非常灵活。目前专注于引擎核心部分,没有报表定义界面(定义是dsl文件)和展示(展示是同事做的)。
这个引擎定义格间的运算关系(包括汇总)很强大,可随意定义公式,支持层次性的表头,支持任意多维度,包括子级维度和次级维度,可任意设置单元格参数(比如cssStyle、cssClass,回填需要的参数)。
以后可能会考虑开源。

是基于excel的吗?

不是。内部是自己定义的模型。excel可以是一种输出。我们现在输出json,前台解析展现。支持text输出,用于控制台测试。
40 楼 zhangdaiscott 2013-01-24 16:20
wushexu 写道
我做了个报表引擎(用groovy),在项目中用的很好,非常灵活。目前专注于引擎核心部分,没有报表定义界面(定义是dsl文件)和展示(展示是同事做的)。
这个引擎定义格间的运算关系(包括汇总)很强大,可随意定义公式,支持层次性的表头,支持任意多维度,包括子级维度和次级维度,可任意设置单元格参数(比如cssStyle、cssClass,回填需要的参数)。
以后可能会考虑开源。

是基于excel的吗?
39 楼 wushexu 2013-01-24 16:16
我做了个报表引擎(用groovy),在项目中用的很好,非常灵活。目前专注于引擎核心部分,没有报表定义界面(定义是dsl文件)和展示(展示是同事做的)。
这个引擎定义格间的运算关系(包括汇总)很强大,可随意定义公式,支持层次性的表头,支持任意多维度,包括子级维度和次级维度,可任意设置单元格参数(比如cssStyle、cssClass,回填需要的参数)。
以后可能会考虑开源。
38 楼 wzjin 2013-01-24 16:09
支持一个,现在javaee的开发大部分是权限管理加上数据库的crud,有这个是可以提高工作效率。把权限部分做细致了基本就可以适应大部分的开发,其他功能就像插件一样插到权限内核上。
37 楼 zhangdaiscott 2013-01-24 16:06
wushexu 写道
zhangdaiscott 写道
coldrush 写道
linliangyi2007 写道
支持楼主的研究,分享,开源的行为,这样的过程对楼主是非常有帮助和收益的,大家也可以对项目的源码进行分析和学习。

但因为市场上同质的产品太多了,基本每个中型以上IT公司都有自己的一套,而且说实话,封装的越多,越缺乏灵活性,性能上也要被打折扣。

还是以学习分享为主吧


说的很对

不知道楼至是否尝试过grails  如果没有的话,建议看看grails是如何做的,我感觉grails在脚手架工具、模版、标签封装层面做的还是很好的,功能强大而不失灵活性。

好的,grails 还是第一次听说,我回头研究下,以前只听过J-HI ,rapid-framework,都是不错的框架

我用grails做了两个项目,用rails做了一个项目。grails在java框架里是很好的。但和rails比差距非常大。

他都实现了什么功能?

36 楼 wushexu 2013-01-24 16:02
zhangdaiscott 写道
coldrush 写道
linliangyi2007 写道
支持楼主的研究,分享,开源的行为,这样的过程对楼主是非常有帮助和收益的,大家也可以对项目的源码进行分析和学习。

但因为市场上同质的产品太多了,基本每个中型以上IT公司都有自己的一套,而且说实话,封装的越多,越缺乏灵活性,性能上也要被打折扣。

还是以学习分享为主吧


说的很对

不知道楼至是否尝试过grails  如果没有的话,建议看看grails是如何做的,我感觉grails在脚手架工具、模版、标签封装层面做的还是很好的,功能强大而不失灵活性。

好的,grails 还是第一次听说,我回头研究下,以前只听过J-HI ,rapid-framework,都是不错的框架

我用grails做了两个项目,用rails做了一个项目。grails在java框架里是很好的。但和rails比差距非常大。
35 楼 zhangdaiscott 2013-01-24 15:46
coldrush 写道
linliangyi2007 写道
支持楼主的研究,分享,开源的行为,这样的过程对楼主是非常有帮助和收益的,大家也可以对项目的源码进行分析和学习。

但因为市场上同质的产品太多了,基本每个中型以上IT公司都有自己的一套,而且说实话,封装的越多,越缺乏灵活性,性能上也要被打折扣。

还是以学习分享为主吧


说的很对

不知道楼至是否尝试过grails  如果没有的话,建议看看grails是如何做的,我感觉grails在脚手架工具、模版、标签封装层面做的还是很好的,功能强大而不失灵活性。

好的,grails 还是第一次听说,我回头研究下,以前只听过J-HI ,rapid-framework,都是不错的框架
34 楼 coldrush 2013-01-24 15:39
linliangyi2007 写道
支持楼主的研究,分享,开源的行为,这样的过程对楼主是非常有帮助和收益的,大家也可以对项目的源码进行分析和学习。

但因为市场上同质的产品太多了,基本每个中型以上IT公司都有自己的一套,而且说实话,封装的越多,越缺乏灵活性,性能上也要被打折扣。

还是以学习分享为主吧


说的很对

不知道楼至是否尝试过grails  如果没有的话,建议看看grails是如何做的,我感觉grails在脚手架工具、模版、标签封装层面做的还是很好的,功能强大而不失灵活性。
33 楼 linliangyi2007 2013-01-24 15:24
支持楼主的研究,分享,开源的行为,这样的过程对楼主是非常有帮助和收益的,大家也可以对项目的源码进行分析和学习。

但因为市场上同质的产品太多了,基本每个中型以上IT公司都有自己的一套,而且说实话,封装的越多,越缺乏灵活性,性能上也要被打折扣。

还是以学习分享为主吧
32 楼 zhangdaiscott 2013-01-24 14:38
sswwww 写道
zhangdaiscott 写道
sswwww 写道
sswwww 写道
zhangdaiscott 写道
sswwww 写道
这个···easyUI都没优化过,爆慢。我搞的easyui都比这个好

呵呵,看见救星了,你可否参与帮我优化下...

可以啊 我可以发你我改的easyui.js库

easyui我玩了3年了··

太感谢了,就需要你这样的人才

easyui的后台中间层最好是nutz的。tab的页签内存没释放 开多了就卡。

嗯,我给你发消息了,你加我吧!晚上我跟你请教..
31 楼 sswwww 2013-01-24 14:36
zhangdaiscott 写道
sswwww 写道
sswwww 写道
zhangdaiscott 写道
sswwww 写道
这个···easyUI都没优化过,爆慢。我搞的easyui都比这个好

呵呵,看见救星了,你可否参与帮我优化下...

可以啊 我可以发你我改的easyui.js库

easyui我玩了3年了··

太感谢了,就需要你这样的人才

easyui的后台中间层最好是nutz的。tab的页签内存没释放 开多了就卡。
30 楼 zhangdaiscott 2013-01-24 14:34
sswwww 写道
sswwww 写道
zhangdaiscott 写道
sswwww 写道
这个···easyUI都没优化过,爆慢。我搞的easyui都比这个好

呵呵,看见救星了,你可否参与帮我优化下...

可以啊 我可以发你我改的easyui.js库

easyui我玩了3年了··

太感谢了,就需要你这样的人才
29 楼 sswwww 2013-01-24 14:33
sswwww 写道
zhangdaiscott 写道
sswwww 写道
这个···easyUI都没优化过,爆慢。我搞的easyui都比这个好

呵呵,看见救星了,你可否参与帮我优化下...

可以啊 我可以发你我改的easyui.js库

easyui我玩了3年了··
28 楼 sswwww 2013-01-24 14:32
zhangdaiscott 写道
sswwww 写道
这个···easyUI都没优化过,爆慢。我搞的easyui都比这个好

呵呵,看见救星了,你可否参与帮我优化下...

可以啊 我可以发你我改的easyui.js库
27 楼 zhangdaiscott 2013-01-24 14:31
sswwww 写道
这个···easyUI都没优化过,爆慢。我搞的easyui都比这个好

呵呵,看见救星了,你可否参与帮我优化下...
26 楼 sswwww 2013-01-24 14:29
这个···easyUI都没优化过,爆慢。我搞的easyui都比这个好
25 楼 wangguo 2013-01-24 13:58
coldrush 写道
ITeye专门采访了,这个表示不太理解,这么个框架好像没有那样的高度吧,ror,grails,spring roo 都在做这样的事情,好多的小公司也在出售这样的东西,虽然各有侧重....,只是因为这个开源么?

我们(ITeye)不只关注像SpringSide、Nutz这样的明星级项目,还致力于为一些有潜力的优秀开源项目提供一个平台,希望大家多多自荐、推荐。
24 楼 fly1206 2013-01-24 13:27
代码下载了,简单试用了一下,真心不错,希望楼主能坚持下去..
不过启动建表那个错,希望能改进一下!!!
23 楼 coldrush 2013-01-24 11:35
ITeye专门采访了,这个表示不太理解,这么个框架好像没有那样的高度吧,ror,grails,spring roo 都在做这样的事情,好多的小公司也在出售这样的东西,虽然各有侧重....,只是因为这个开源么?

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 智能开发框架 JEECG 作者张代浩专访

    智能开发框架 JEECG 作者张代浩专访

  • JEECG

    JEECG(J2EE Code Generation)是一款基于代码生成器的智能开发框架,采用代码生成+手工MERGE半智能开发模式,可以帮助你解决Java项目中50%的重复工作,让你更多关注业务逻辑。 JEECG论坛:http://www.jeecg.org ...

  • 【CSDN英雄会】囯炬CEO张代浩:做写架构、做制定游戏规则的人

    JEECG的特点是快,引领了业内很多第一,代码生成器模式、Online在线开发模式、插件开发模式,通过JEECG的智能化可以让原来6月的项目压缩至2月,8个人的团队压缩至3人,大大提高开发效率,所以JEECG一经开源,就积累...

  • 期待JEECG3.0新版本发布

    最近在www.javaeye.com( iteye)上看见一篇文章:“基于代码生成器的智能开发框架 JEECG 作者张代浩专访” ,对代码自动生成策略有兴趣,所以登录到其demo系统上看了下,感觉很不错,具体的内容请看专访的内容:专访...

  • JEECG(J2EE Code Generation)

    最近在www.javaeye.com( iteye)上看见一篇文章:“基于代码生成器的智能开发框架 JEECG 作者张代浩专访” ,对代码自动生成策略有兴趣,所以登录到其demo系统上看了下,感觉很不错,具体的内容请看专访的内容:专访...

  • 国内外优秀开源项目创始人专访

    基于代码生成器的智能开发框架 JEECG 作者张代浩专访 开源项目管理软件禅道创始人王春生专访 开源PHP快速开发框架ThinkPHP创始人刘晨专访 开源数据库 Affinity 介绍和 Affinity 研发团队深度采访 开源 Java 中文分词...

  • extTree组件

    您还未登录!|登录|注册|帮助 首页 业界 移动 云计算 研发 论坛 博客 下载 更多 Sp42的专栏 ... 智能开发框架 ... JEECG 作者张代浩专访  2012CSDN博客之星火热出炉!

  • gdb调试流程

    huchunlinnk10我的:收件箱资源博客空间设置|帮助|退出 首页业界移动云计算研发论坛博客下载 更多 冬夜静思 方向比努力更重要,能力比...智能开发框架 JEECG 作者张代浩专访 2012CSDN博客之星

  • 计算机术语.pdf

    计算机术语.pdf

  • 包括缺陷和有限视场效应的Etalon模型 matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

  • 基于PLC和组态软件的智能停车场收费系统:电气控制与梯形图程序详解

    内容概要:本文详细介绍了基于PLC(可编程逻辑控制器)和组态软件的智能停车场收费系统的实现方法和技术细节。首先,文章概述了系统的总体架构,指出PLC用于控制停车场的电气设备,而组态软件则提供直观的操作界面。接着,深入解析了PLC梯形图程序的具体逻辑,包括车辆检测、闸门控制、收费计算等功能模块。此外,文章还讨论了接线图的设计原则和注意事项,如防止电磁干扰、确保系统稳定性的措施。最后,介绍了组态画面的设计思路及其优化方法,如动态显示车位状态、实时更新收费信息等。通过这些内容,读者能够全面了解智能停车场收费系统的内部运作机制。 适合人群:从事自动化控制、工业物联网、智能交通等领域的工作技术人员,尤其是对PLC编程和组态软件应用感兴趣的工程师。 使用场景及目标:适用于新建或改造停车场项目的规划与实施阶段,帮助工程师理解和设计类似的自动化控制系统,提高停车场管理效率和服务质量。 其他说明:文中提供了大量实际案例和技术细节,有助于读者更好地掌握相关技术和应对实际工程中的挑战。

  • MATLAB实现电-气-热综合能源系统耦合优化调度模型

    内容概要:本文详细介绍了利用MATLAB及其工具箱YALMIP和求解器CPLEX/Gurobi构建电-气-热综合能源系统耦合优化调度模型的方法。首先,文章描述了电网部分采用39节点系统进行直流潮流建模,气网部分则使用比利时20节点配气网,并对Weymouth方程进行了线性化处理,将非线性问题转化为线性规划问题。热网部分引入了热电联产(CHP)和电转气(P2G)设备,实现了热电耦合。通过模块化设计,代码能够灵活地添加新的能量存储或转换设备。实验结果显示,相比单一网络优化,三网耦合优化降低了12.6%的系统总成本,并显著改善了负荷峰谷差。 适合人群:从事能源系统优化研究的专业人士,尤其是熟悉MATLAB编程和优化理论的研究人员和技术人员。 使用场景及目标:适用于希望深入了解综合能源系统耦合优化调度机制的研究人员和技术人员。主要目标是掌握如何使用MATLAB搭建电-气-热耦合优化模型,理解各个子系统的数学建模方法以及它们之间的相互作用。 其他说明:文中提供了详细的代码片段和解释,帮助读者更好地理解和复现模型。此外,还讨论了一些实际应用中的注意事项,如求解器的选择、参数调优等。

  • 计算机三级网络机试考试试题及答案(下).pdf

    计算机三级网络机试考试试题及答案(下).pdf

  • NX MCD时序仿真中机械臂抓取仿真的参数配置与PLC联动实现

    内容概要:本文详细介绍了使用NX MCD进行机械臂抓取仿真的方法和技术要点。首先探讨了运行时参数的配置,如夹爪力度的动态调整和位置控制的脚本编写。接着讨论了条件仿真序列的设计,包括状态机跳转、阻塞等待、异步响应和超时保护等关键概念。此外,文章还讲解了与PLC的联合仿真,展示了如何通过TIA Portal实现抓取力度的动态补偿以及信号同步。最后分享了一些实用的调试技巧,如使用半速模式观察力学变化、设置碰撞检测触发器等。 适合人群:从事自动化设备开发、机械臂控制系统设计的技术人员,尤其是对NX MCD和PLC有一定了解的工程师。 使用场景及目标:适用于需要进行复杂机械臂抓取仿真的项目,帮助工程师更好地理解和掌握NX MCD与时序仿真的核心技术,提高仿真精度和可靠性。 其他说明:文中提供了大量具体的代码片段和配置示例,便于读者快速上手实践。同时强调了参数化配置的重要性,指出这是为了在现场调试时提供更大的灵活性。

  • 计算机数控系统.pdf

    计算机数控系统.pdf

  • 基于Qt框架的音频采集与播放工具

    本人创作,禁止商用

  • 大型流水线贴膜机PLC与触摸屏程序:初学者必备的工业控制项目

    内容概要:本文详细介绍了一款大型流水线贴膜机的PLC程序和触摸屏程序,涵盖多个控制工艺如上下气缸控制、输送带电机控制、贴膜伺服控制等。程序适用于西门子S7-1200 PLC和KTP700触摸屏,支持V13及以上版本。文中提供了详细的代码示例和分析,解释了各个控制部分的工作原理及其优化技巧。此外,还介绍了异常处理机制、报警处理模块、以及触摸屏界面上的一些实用功能,如动画流程图显示和参数微调。 适合人群:工业自动化领域的初学者,尤其是对PLC编程和运动控制感兴趣的工程师和技术人员。 使用场景及目标:① 学习PLC编程和触摸屏程序设计的基础知识;② 掌握常见工业控制元件的编程方法和优化技巧;③ 提高对复杂控制系统的设计和调试能力。 其他说明:文章强调了程序中的关键技术和注意事项,如定时器保护、光电开关连锁、位置补偿算法等,有助于初学者避免常见错误并提高系统的可靠性和安全性。

  • 基于51单片机的多点测温系统:利用DS18B20传感器与LCD1602实现实时温度监测

    内容概要:本文详细介绍了基于51单片机的多点测温系统的构建方法。系统采用五个DS18B20数字温度传感器进行温度采集,并将数据实时显示在LCD1602屏幕上。文中涵盖了硬件连接、单总线通信协议、温度读取与显示的具体实现细节,以及常见问题的解决方案。特别强调了ROM匹配算法的应用,确保多个传感器在同一总线上能够正确通信。此外,还提供了Proteus仿真的注意事项和一些调试技巧。 适合人群:对嵌入式系统开发感兴趣的初学者和有一定单片机基础的研发人员。 使用场景及目标:适用于恒温箱监控、多房间温控等应用场景,旨在帮助开发者掌握多点温度监测系统的搭建方法和技术要点。 其他说明:文中附有完整的硬件连接图和核心代码片段,便于读者理解和实践。同时提到了一些扩展功能,如温度单位切换、阈值报警等,增加了项目的趣味性和实用性。

  • 直流电机模糊PID控制技术详解及其Python与C语言实现

    内容概要:本文详细介绍了将模糊控制与传统PID相结合应用于直流电机控制的方法。首先阐述了传统PID控制在面对负载突变或转速大幅变化时的局限性,随后引入模糊PID的概念并展示了具体的实现步骤。文中提供了完整的Python和C语言代码示例,涵盖模糊规则表的设计、隶属度函数的选择以及参数自适应调整机制。此外,作者还分享了多个实用的经验技巧,如参数调整范围限制、误差量化因子选择、抗积分饱和算法的应用等。并通过实验数据对比证明了模糊PID相比传统PID在响应速度和稳定性方面的优势。 适合人群:具有一定自动化控制理论基础和技术实践经验的研发人员,尤其是从事电机控制系统开发的技术人员。 使用场景及目标:适用于需要提高直流电机控制系统鲁棒性和响应速度的实际工程项目。主要目标是在保持系统稳定的前提下,缩短调节时间和减少超调量,从而提升整体性能。 其他说明:尽管模糊PID能够显著改善某些特定条件下的控制效果,但仍需注意合理设置初始参数和调整幅度限制。同时,对于不同类型的电机和应用场景,可能还需要进一步优化模糊规则和隶属度函数。

Global site tag (gtag.js) - Google Analytics