一、
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
的思想、权限控制和状态机部分。