`
happmaoo
  • 浏览: 4344041 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

EasyJWeb Tools中代码自动生成引擎详解

阅读更多
<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog01.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>

  在EasyJWeb-0.6.0推出来以后,很多网友对其中的代码生成部分非常感兴趣,并来信问了一些如何使用easyjwebtools、如何支持多表生成、生成页面的定制、业务逻辑的定制等很多问题。下面以我自己的理解,简单介绍一下EasyJWeb Tools中的代码生成的应用方法及展望。

一、快速体验及上手

  EasyJWeb考虑到国内存在很多Java初学者的情况,因此代码书写及发布方式力求简单明了,让新手也能快速上手。在发布的0.6.0版本中,不但实现了ant及maven来管理项目发布,还初步实现了代码生成引擎中的部分功能。你可以在下载了EasyJWeb项目的源代码后,花上不到两分钟即实现一个添删改查及分页的Java Web代码生成、编译及打包发布等过程。整个过程只需要下载EasyJWeb源码->建表->改数据源配置文件->执行生成命令easyjwebtools->然后运行即可。详细步骤如下:
  1、下载EasyJWeb最新版本
  http://www.easyjf.com/easyjweb/download.htm
  2、建立数据库及数据表
  使用My SQL或MS SQL数据库,建一个库,然后建一个表,比如message(留言板)。由于EasyJWeb Tools业务引擎中使用的是ORM系统访问数据库,因此要求每个表都设置一个名为cid的、类型为varchar(16)的主键字段,然后就是其它的一些需要使用的字段。如下面我写的示例表:
CREATE TABLE `message` (
`cid` varchar(16) NOT NULL,
`title` varchar(100) NOT NULL,
`inputUser` varchar(16) default NULL
`inputTime` datetime default NULL,
PRIMARY KEY (`cid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

生成的添删改查及分页代码缺省情况下使用EasyJF团队开发的超轻量级ORM框架EasyDBO访问数据库。当然你可以根据自己的情况选择其它的ORM系统,如hibernate、iBatis等。

  3、修改数据库访问配置文件
  EasyJWeb Tools中代码生成引擎当前是根据数据表的字段名来生成的代码。因此,要能正确运行该程序,必须保证数据库的连接配置参数设置正确。我们只需要修改下载源码中的src\main\easyjf-dbo.xml文件即可。关于EasyDBO的配置说明,请看本人的《EasyDBO配置文件easyjf-dbo.xml详细说明》这篇文章,地址:http://www.easyjf.com/html/20060427/31970563-6771387.htm
  
  4、运行easyjwebtools命令
  通过开始菜单的运行栏中输入cmd。然后使用cd命令切换到EasyJWeb源码解压目录的bin目录。
  然后输入easyjwebtools
  在提示按任意键后,找到键盘上的任意键(呵呵)按一下。直到看到Build Successful的栏式。完成后就到EasyJWeb解压目录中生成release目录,里面有一个打包好的easyjf-jweb-0.6.war文件,把该文件拷到Tomcat 的webapps目录下。然后启动Tomcat即可。
  
二、多表生成
   在实际应用中,我们只有一张表的情况下少之又少。而且不可能每生成一张表的添删改查就打一个War包,这不是很搞笑吗?
   EasyJWeb Tools中的单表生成只是为了提供一个快速的应用体验。因此,easyjwebtools这个批处理命令是把编译、生成、再编译打包发布等过程全部集中一起的。大家可以用编辑器打开bin目录中的easyjwebtools.bar这个文件,注释(或者删除)掉其中的call build.bat compile,call build.bat war两行。这样在执行easyjwebtools这个批处理的时候就只完成代码生成功能而不会执行编译及打包发布的过程了。
多表生成只需要先编译一下EasyJWeb项目源代码。然后再重复执行easyjwebtools生成每一个表的添删改查,最后再执行一个重新编译及打包发布命令。
  在命令行操作的整个过程如下:
 编译:build compile
  然后重复:easyjwebtools
       easyjwebtools

easyjwebtoosl
  最后执行打包发布:build war

三、代码生成引擎的展望
  在实际的项目中,我们的应用是比较复杂的,而且在代码生成的时候还会有很多具体的需求,比如:
  1、我们会涉及到成百上千的数据表。
  2、而且这些数据表还有着各种各样的联系,如主从关系、外键约束、关联等,很多表还要支持延迟加载(lazy load)等功能。
  3、操作不会只是简单的添删改查,还会有更多的商业逻辑。
  4、在生成基于hibernate等ORM系统的时候,还要生成相关的配置文件。
  5、还需要更多的选择及互动操作。
  另外,代码生成引擎还要考虑很多问题,如页面的可维护性、生成后的代码当需求改变的时候重新生成、生成代码的可扩展性、可维护性等等。生成的方式、代码风格、页面样式等都要求提供给用户自由选择与定制的支持。
  提供一个可视化的用户交互界面,而非命令行,使用UML建模,然后根据UML模型有选择的生成表结构、生成相关代码、测试代码、生成各种页面文件,并且打包发布。理想的情况下,代码生成引擎完成一个项目的70%以上重复烦硕的代码书写工作。程序员要做的,就是在生成后的代码或页面上做一些个性化的功能需求或设置。
  提供简易、快速的J2EE应用程序开发解决方案,这就是EasyJWeb Tools将来的奋斗目标。EasyJWeb是开源的项目,任何会说汉语的人都可以参与进来,在此诚邀有兴趣的朋友一起来为EasyJWeb Tools的目标而奋斗。




Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=844893


分享到:
评论

相关推荐

    easyjweb1.2

    仅仅依靠一个灵活、简易的MVC核心引擎还不能最大限度的提高开发速度,因此EasyJWeb还提供了一个灵活、易用的代码生成引擎及工具,通过使用代码生成引擎,可以快速完成基于JavaEE平台的企业级应用程序生成。...

    easyjweb 开发文档

    仅仅依靠一个灵活、简易的MVC核心引擎还不能最大限度的提高开发速度,因此EasyJWeb还提供了一个灵活、易用的代码生成引擎及工具,通过使用代码生成引擎,可以快速完成基于JavaEE平台的企业级应用程序生成。...

    EasyJWeb服务调度和自定义邮件引擎技术的CRM系统实战开发

    第三个知识点是自定义邮件引擎,针对于CRM系统来说,大批量的持续发送邮件是一个很重要的功能,但是普通的邮件群发是无法完成的,邮件服务器会对邮件进行过滤和处理,为了能够尽可能的提高邮件发送的准确性,在本...

    简易Web框架EasyJWeb源码

     通过EasyJWeb Tools提供的配套开发工具,可以实现基于EasyJWeb框架的Web应用快速开发,包括常用应用软件的代码自生成、数据库添删改查(CRUD)代码生成、自动页面模版生成、配置文件管理等。  框架特点:  1、...

    EasyJWeb实用开发指南——开始EasyJWeb

    EasyJWeb实用开发指南——开始EasyJWeb

    EasyJWEB2.0

    EasyJWeb是基于java技术,用于实现企业级Java Web应用程序快速开发框架。框架由来自国内的EasyJF开源团队维护,是一个完全由来自的中国开源爱好者开发,文档及注释全部为中文的开源框架。

    easyjweb-2.0快速开发

    easyjweb-2.0 java 快速开发 easyjweb-2.0 java 快速开发 easyjweb-2.0 java 快速开发

    EasyJWeb快速入门指南

    EasyJWeb快速入门指南,EasyJWeb 是一个让你开发 Java Web 应用程序变得容易及高效的框架,他是一个基于请求转发模型的 MVC 框架。本章将主要介绍如何使用 EasyJWeb 写一个简单的应用程序。

    直接可以用来处理基于远程脚本调用的表格数据,适合配合EasyJWeb中的远程脚本调用引擎、DWR框架

    博文链接:https://jhaij.iteye.com/blog/200064

    EasyJWeb开发指南

    EasyJWeb是基于java技术,用于企业级Java Web应用程序快速开发的MVC框架。框架设计构思来源于国内众多项目实践,框架的设计及实现借鉴当前主要流行的开源Web框架,如Rails、Struts、JSF、Tapestry等,吸取其优点及...

    EasyJWeb框架0.7.0

    EasyJWeb框架0.7.0

    EasyJWeb源码构建指南

    目前EasyJWeb已经采用国际水准的项目管理工具——Maven。Maven是一个功能强大的项目管理工具,在此处不做过多介绍,有兴趣的可以阅读Maven官方文档。 首先要确保你的计算机上已经安装了Maven2.0.5以上版本,如果还...

    easyjweb快速入门

    1、在命令行中切换到easyjweb\bin目录。 2、输入easyjweb project d:\test\ejs -ejs -extjs 会在d盘的test目录建立一个名为ejs的web项目。 3、切换到d:\test\ejs\bin目录 4、输入easyjweb crud myapp.domain....

    配置easyjweb项目

    配置easyjweb项目 ,要用到的细节,免于发生不必要的错误

    EasyJWeb开发者指南

    EasyJWeb中的验证 21 实现自己的验证器 22 验证错误获彼此 23 EasyJWeb的错误处理 24 工具类 24 CommUtil 25 分页 25 tagUtil 26 验证码 26 容器部分 28 EasyJWeb的容器 28 IoC 28 EasyJWeb中的容器 28 集成其他容器...

    easyjweb说明文档

    easyjweb说明文档

Global site tag (gtag.js) - Google Analytics