">
这个service.xml文件可以使用我们的IDE环境进行创建,也可以自己手动进行创建,主要介绍一下利用这个IDE创建service-builder,IDE中集成了利用ant使用service.xml文件创建DB层(主要是sql文件的生成),Hibernate层(主要是Hibernate配置文件的生成)以及Spring层(Spring配置文件的生成已经所有的bean对象的托管等)……过程简要的回顾一下:主要是选择java包的路径等信息,然后自动创建一个service.xml文件在工程的WEB-INF下,使用IDE的话,这个service.xml的信息也很好配置。
根据这个系统自动生成的service.xml文件进行一下讲解://///file:/docroot/WEB-INF/service.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.0.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_6_0_0.dtd">①
<service-builder package-path="net.akx"> ②
<author>AKX</author>
<namespace>akx</namespace> ③
<entity name="Foo" local-service="true" remote-service="true">
<!-- PK fields -->
<column name="fooId" type="long" primary="true" />
<!-- Audit fields -->
<column name="companyId" type="long" />
<column name="userId" type="long" />
<column name="userName" type="String" />
<column name="createDate" type="Date" />
<column name="modifiedDate" type="Date" />
<!-- Other fields -->
<column name="field1" type="String" />
<column name="field2" type="boolean" />
<column name="field3" type="int" />
<column name="field4" type="Date" />
<column name="field5" type="String" />
<!-- Order -->
<order by="asc">
<order-column name="field1" />
</order>④
<!-- Finder methods -->
<finder name="Field2" return-type="Collection">
<finder-column name="field2" />
</finder>⑤
</entity>
</service-builder>
结合以上的service.xml文件进行一下说明:
① xml文件的定义头。
② 定义java源文件包路径
③ 绑定javadoc,确定命名空间,命名空间影响数据库表名称。见下文
④ 使用entity标签定义数据库表,其中嵌入column标签定义数据库中字段,定义索引字段及顺序。
⑤ 定义finder字段及返回值。
① 没什么可说的,是xml文件的定义头部。② 定义java源文件包路径,决定生成的java源文件的包路径。③ 绑定javadoc,是java注释的一种方法,大家都比较熟悉我就不多说了,这里通过author标签可以在javadoc中自动生成@author信息,一般用于进行版本的控制,命名空间这个主要影响表的名称,比如我的命名空间是akx而下面的entity标签的名字属性是Foo,则数据库中由Foo生成表的对应表名应该是akx_Foo。④ 使用entity声明数据库中的表,使用column进行表中字段的声明,可以指定字段名称,字段类型和是否是主键等。⑤ 定义finder字段及返回值,指定在DAO层方法,用于查找相应的符合条件的对象。
然后使用IDE中自带的ant脚本对service-builder注入项目进行配置,以上的过程是在这个service.xml文件配置成功后,使用IDE中自带的方法就能生成一堆东西。
我们来看一下能够生成的东西,说一句比较俗的话:真TMD多。。。