一、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的思想、权限控制和状态机部分。
分享到:
相关推荐
artemis-http-client-1.1.3.jar
`artemis-http-client(JDK8)`和`artemis-http-client(JDK7)`是针对不同Java版本的Artemis HTTP客户端库,它们包含了Java代码示例和必要的依赖,帮助开发者快速集成到自己的项目中。这两个版本的差异主要在于对...
Apache Artemis 2.11.0完全支持JMS 2.0规范,提供了更强大的消息编程模型,如共享订阅、预定义目的地、持久化消费者等,使得开发者可以编写更简洁、更高效的代码。 五、使用场景 Apache Artemis适用于各种应用场景...
这个压缩包"apache-artemis-2.10.0.rar"包含了Apache Artemis 2.10.0版本的源代码和相关资源。Apache Artemis作为ActiveMQ的下一代产品,它提供了更现代的架构和更好的性能优化。 Apache Artemis的核心特性包括: ...
在服务器上使用apache-artemis 搭建MQTT服务,windows下和Linux下操作方式基本一致。 MQTT协议 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式...
这个"apache-artemis-2.17.0.rar"压缩包包含了Apache Artemis 2.17.0版本的完整源代码和相关资源,适用于开发者进行部署、配置和定制。 Apache Artemis的核心特性包括: 1. **多协议支持**:Apache Artemis支持...
http-client.jar包下载 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。
Dynatrace的ActiveMQ Artemis插件关于经纪人流程的自定义 插件。Artemis概述插件该插件提供常规的代理统计信息,例如地址内存使用率,连接/用户数,总消息数,总消息添加/确认率。 Artemis Queues插件这提供了详细的...
通过海康威视的iSecure Center平台做二次开发,实现监控的预览;通过海康威视的iSecure Center平台做二次开发,实现监控的预览通过海康威视的iSecure Center平台做二次开发,实现监控的预览
apache-artemis-2.31.1-bin.tar.gz apache-artemis-2.31.1-bin.zip apache-artemis-2.31.1-source-release.tar.gz
7. **管理工具**:Artemis提供了命令行工具(brokerctl)和Web管理界面,方便管理员监控和管理服务器状态。 8. **安全性**:Artemis支持多种安全认证机制,如JAAS(Java Authentication and Authorization Service...
OpenAPI 安全认证库 (JAVA) V1.1.4 ... (3) demo文件夹下放置示例代码,开发者可参考示例代码进行开发 特别说明:ArtemisPostTest.java类演示了获取组织列表和获取区域列表两个OpenAPI POST接口的调用。
在Python的世界里,库是开发者的重要工具,它们提供了丰富的功能,帮助我们更高效地编写代码。今天我们要探讨的是一个名为`tft_artemis`的Python库,版本号为0.0.7。这个库以其独特的特性和功能,为Python开发者提供...
资源分类:Python库 所属语言:Python 资源全名:artemis-0.1.1.zip 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源来自pypi官网。 资源全名:tft_artemis-0.0.7-py3-none-any.whl
《基于Artemis-odb改造的Drop:libgdx示例游戏详解》 在Java游戏开发领域,libgdx和Artemis-odb是两个备受开发者喜爱的框架。libgdx是一个强大的跨平台游戏开发库,它允许开发者使用Java语言创建桌面、Android以及...
标题中提到的三个关键jar包是HttpClient正常运行所必需的: ... 2. `commons-logging-1.1.3.jar`:这是一个日志抽象层,允许HttpClient使用多种日志实现(如log4j、java.util.logging等)。通过这个库,HttpClient...