Artemis1.0-快速的SLSB+spring+hibernate代码生成工具

 
一、 jcf 简介 <o:p></o:p>
1 、这个代码生成工具是针对 java command framework (简称 jcf )快速生成增删改查代码, jcf 集成了 struts spring hibernate ,并通过 Command 模式引入了 EJB2.0 的无状态 sesson bean (简称 slsb ),整个系统就一个 slsb 或者为了功能的划分而区分若干个 slsb ,所以配置文件非常简单,甚至不用修改即可用在别的项目中。
2 jcf 支持灵活的部署方式,可以将系统的前台(主要是 struts 部分,有 jsp action form javascript html 等)和后台( spring hibernate 等)通过 slsb 分开,由于 EJB 天生就具有远程调用的功能,可以将前台和后台分开部署,实现一个后台支持多个客户端(前台),也可以利用 Spring 的设值注入更改后台的入口类 delegate ,将 EjbDelegate 改为 PojoDelegate 就可以绕过 EJB 直接调用后台的接口。前台引入后台打出来的 **server**.jar 包(,后台同时也打出一个 **client**.jar , 用在 ejb 场景)并融合 Spring 的配置文件即可绕过 EJB 调用。这种模型给开发和测试带来极大的方便。
3 jcf 可以很方便的部署在各个服务器上,在应用服务器 Weblogic Jboss 上可以应用 slsb 来实现分布式和声明式的事务支持。更改一下 Spring 的配置文件,不用 slsb 也可以在 web 服务器 tomcat 等上面运行。利用 Hibernate 可以轻易的在不同的数据库中进行转换。
4 jcf 开发效率和运行效率都有很好的表现,并且 struts hibernate 都可以替换, spring 也可以换掉, jcf 是设计模式的体现。
5 jcf 利用 spring acegi 来实现灵活可靠的权限控制,实现到页面和方法的控制级别,并且权限可以写到数据库中。
6 jcf 目前用到的技术包括文件上传和下载、利用 axis 来作 webservice 和用 jms 来发送异步的消息。
7 jcf 实现类似于 http 请求,每个请求发送一个 request 并返回一个 response ,不记录每个请求的状态,但是记录一个请求中的状态,以实现每个请求中 command 的流向。每个 command 可以是一个原子操作,然后在 spring 中配置几个 command 一起按照一定的流程协助完成一件事情,大大的提高了代码的重用性。 Jcf 是一个简单的工作流系统。
7 、目前代码生成支持 mysql oracle2 种数据库,暂时不支持前台 struts 代码的生成。
<o:p> </o:p>
二、 artemis 使用方法 <o:p></o:p>
Artemis 使用方法,以 mysql 为例子:
1、  修改 db-config.properties
2、  点击 artemis.bat 生成文件。
3、  由于生成的代码涉及到每张表的 6 个原子操作,不是每个操作都用的上,所以先将文件放在其他地方在手工拷贝回去工程中。
4、  注意: template 目录下是代码模版,如无必要不用改动。
<o:p> </o:p>
db-config.properties 介绍:
文件中每行前面带 # 表示注释,主要涉及的配置项有:
#mysql 配置
dbUsername=root    // 用户名
dbPasswd=      // 密码
dbConnectString=jdbc:mysql://127.0.0.1:3306/mxidea     // 连接串
<o:p> </o:p>
# 文件将要写到的系统路径
path=d:/!jcfSrc/                           // 临时文件写到 d 盘的 !jcfSrc 目录
# 基本的包路径
packagePath=com.mxidea.bizservice         
<o:p> </o:p>
# 将要生成的表名和实体类的名字,要一一对应,之间用逗号相隔
TableName=t_comment,t_user_space
Entityname=Comment,UserSpace
<o:p> </o:p>
生成的文件包括:
1、  junit test TestBizDelegate.java
2、  delegate 和其接口
3、  实体类 model
4、  Hibernate 的配置文件 hbm.xml, 目前支持单主键和 hibernate 的退化使用(具体意思可以到网上查一下),可以用 myeclipse 或者 midgen 生成。
5、  Dao
6、  公共服务名定义( jcf 需要) ServiceConsts.java
7、  Command ,每张表的 6 个操作,具体看代码吧。
8、  生成 dao command processor (流程定义,包括若干个 command )的 spring 的配置文件。
<o:p> </o:p>
  有些思想来源于别人的灵感,如 jcf 的思想、权限控制和状态机部分。

你可能感兴趣的:(spring,Hibernate,mysql,struts,ejb)