在上一篇的博客中只提到了通过一个带Id的domain(也就是Entity)生成一些crud的相关文件,这些文件是根据你提供的domain的具体信息再加上EasyJWeb提供的模板(生成项目的Template目录)生成的,你可以根据约定来修改这些模板,生成自己喜欢的格式。
我还是参考EasyJWeb实用开发指南中的“快速开发基于EJS(EasyJWeb+JPA+Spring)的数据库应用”来体验一下代码生成吧!
代码生成了,但是一个命令生成一个项目也让我们匪夷所思,接下来我就介绍一下生成的项目找的相关成员吧! 生成简单的MVC应用中的文件简介可参考EasyJWeb实用开发指南中的讲解
我先切下来项目的骨架:
EJS(EasyJWeb+JPA+Spring)的数据库应用:
在eclipse和windows中的视图:


EasyJWeb应用首先是一个java web应用,所以其结构遵循标准java web应用的目录及文件结构,同时在WEB-INF目录中增加了一些EasyJWeb的配置及其它文件。
按在eclipse视图中的上下顺序来说明:
在上面的视图中可以看到,生成的项目中采用了两个src文件,一个存放java源文件,一个存放相应的配置文件,因为生成的是一个新的easyjweb的应用,所以src/main/java为空, 配置文件夹src/main/resources中的文件如上:
|
applicaton.xml
|
Spring的配置文件,该配置文件用import结点 总和spring的相关配置文件,具体可参考里面的内容
|
|
dao.xml
|
配置DAO
|
|
service.xml
|
配置service
|
|
db.properties
|
配置数据源
|
|
log4j.properties
|
配置日志
|
|
persistence.xml
|
用于指定实体Bean使用的数据源及EntityManager对象的默认行为,不过我们的数据源是在db.properties在中配置的。
|
bin 下面是在该项目中生成crud相关文件的批处理文件。具体用法请参考:
EasyJWeb实用开发指南中的“快速开发基于EJS(EasyJWeb+JPA+Spring)的数据库应用”来体验一下代码生成
bin/lib/build 下面的 .jar 文件是在ant所用的依赖包!
Templates下面的就是模板了,如我在上一节所说的。
webapp web应用的根目录。
images-图片文件;
Javasrcipt js文件夹
stylesheet css文件夹
Manage 也是用到的ccs文件
WEB-INF-该目录不能通过url直接访问,存放web应用配置文件及类库文件。
web.xml-标准java web应用说明文件;
easyjf-web.xml-easyjweb的主配置文件;
mvc.xml 也是easyjweb的配置文件,就是从easyjf-web.xml分离出来了,你可以看到easyf-web.xml中是通过import进去的。
views-该目录用于存放模板文件;
lib-该目录存放Web应用所用到的其它库文件;
classes-编译后的字节码.class文件。
lib中的jar包:
有人打开lib一看一定会惊呆了,那么多的jar都是干什么呢?呵呵,这个就是easyjweb的强大之处,它集合现在最流行的技术,
|
acegi-security-1.0.3.jar
|
Spring Framework提供一个兼容的安全认证服务(security services)
|
|
ant.jar
|
构建和部署项目
|
|
antlr.jar
|
语法分析生成器
|
|
aspectjweaver-1.5.2a.jar
|
负责处理类加载器织入的包
|
|
cglib-2.1.3.jar
|
CGLIB用来生成动态代理类
|
|
commons-attributes-api-2.1.jar
|
在应用中使用源码级元数据
|
|
commons-attributes-compiler-2.1.jar
|
以便将attributes编译到应用里
|
|
commons-beanutils-1.6.jar
|
提供对Java 反射和自省API的包装
|
|
commons-codec-1.3.ja
|
包含一些通用的编码解码算法
|
|
commons-collections-1.2.jar
|
扩展和增加标准的Java Collection框架.
|
|
commons-dbcp-1.2.1.jar
|
数据链接池
|
|
commons-digester-1.6.jar
|
Digester基于规则的XML文档解析,主要用于XML到Java对象的映射
|
|
commons-discovery-0.2.jar
|
提供工具来定位资源(包括类) ,通过使用各种模式来映射服务/引用名称和资源名称。
|
|
commons-fileupload-1.2.jar
|
文件上传
|
|
commons-io-1.3.1.jar
|
用来帮助进行IO功能开发
|
|
commons-lang-2.3.jar
|
提供一些基础的、通用的操作和处理,对java基础的封装,提过了很多的工具类。
|
|
commons-logging-1.1.jar
|
用于通用日志处理
|
|
commons-pool-1.3.jar
|
提供了一整套用于实现对象池化的框架
|
|
commons-validator-1.1.4.jar
|
提供了一个简单的,可扩展的框架来在一个XML文件中定义校验器(校验方法)和校验规则
|
|
Commontemplate.jar
|
模板引擎
|
|
dom4j-1.6.1.jar
|
用于解析xml配置文件信息
|
|
easydbo-0.9.1.jar
|
简单的ORM映射及Bean处理
|
|
easyjweb-core-1.0-m3.jar
|
这是EasyJWeb框架的主要核心程序,一般应用中我们只需要该文件就能使用EasyJWeb。
|
|
easyjweb-ext-1.0-m3.jar
|
这是EasyJWeb框架的扩展程序,提供了非常实用工具类,通用业务逻辑封装,基于Spring2及JPA的泛型DAO实现及支持,另外还包括了对spring容器、guice容器的集成,commontemplate及freemaker等模板引擎集成等。要使用EasyJWeb快速开发基于EJS(EasyJWeb+JPA+Spring)构架的Java EE应用程序,需要使用到该包。
|
|
easyjweb-generator-1.0-m3.jar
|
这是EasyJWeb的代码生成引擎,包括代码生成模板,实用模板等,主要用于在开发过程中实现快速开发。
|
|
ehcache-1.2.3.jar
|
通用缓存解决方案
|
|
guice-1.0.jar
|
一个轻量级,基于Java5(主要运用泛型与注释特性)的依赖注入框架(IOC)。
|
|
hibernate-3.2.2.ga.jar
|
Hibernate
|
|
hibernate-annotations-3.2.1.GA.jar
|
Java 5的注解功能怎么简单地用在你的hibernate代码中让你的持久化层变得更容易.
|
|
hibernate-entitymanager-3.2.1.GA.jar
|
Hibernate的一个依赖包
|
|
jakarta-oro-2.0.8.jar
|
套文本处理工具,能提供perl5.0兼容的正则表达式,AWK-like正则表达式, glob表达式。还提供替换,分割,文件名过虑等功能.
|
|
javassist-3.3.ga.jar
|
是一个开源的分析、编辑和创建Java字节码的类库。是由东京技术学院的数学和计算机科学系的 Shigeru Chiba 所创建的。它已加入了开放源代码JBoss 应用服务器项目,通过使用Javassist对字节码操作为JBoss实现动态AOP框架。
|
|
jaxen-1.1.jar
|
一个用Java开发的XPath 引擎,支持JDOM, dom4j 。
|
|
jboss-archive-browsing-5.0.0alpha-200607201-119.jar
|
Hibernate的一个依赖包
|
|
jetty-6.1.4.jar
|
一个开放源码的HTTP服务器和Java serverlet容器
|
|
jetty-util-6.1.4.jar
|
maven2 有关吧!
|
|
jta-1.0.1B.jar
|
Java事务API
|
|
jtds-1.2.jar
|
Microsoft SQL Server数据库的Jdbc driver
|
|
junit-4.1.jar
|
Java 语言事实上的标准单元测试库
|
|
log4j-1.2.14.jar
|
EasyJWeb中的主要日志文件
|
|
lucene-core-2.0.0.jar
|
基于Java的全文检索引擎
|
|
mysql-connector-java-5.0.5.jar
|
Mysql的jdbc驱动
|
|
org.mortbay.jmx-5.1.9.jar
|
|
|
persistence-api-1.0.jar
|
JPA的核心库
|
|
spring-2.0-rc2.jar
|
Spring的完整发布的单个jar包
|
|
spring-aspects-2.0.jar
|
Spring集成的aspects
|
|
spring-mock-2.0-rc2.jar
|
Spring提供的测试类
|
|
velocity-dep-1.4.jar
|
EasyJWeb的首选模板引擎
|
|
velocity-1.4.jar
|
也是velocity的东西
|
上面是生成项目所依赖的包的说明
其中easyjweb中已经配置好了事务的管理,和对泛型dao的配置。