壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1999|回复: 0

在Liferay二次开发中使用ServiceBuilder

[复制链接]
发表于 2010/5/12 11:05:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
在Liferay二次开发中使用ServiceBuilder:
根据Xml描述文件,使用ServiceBuilder可以产生如下信息:
   Java Beans
   SQL scripts for database tables creation
   Hibernate Confguration
   Spring Confguration
   Axis Web Services
   JSON JavaScript Interface
下面是此xml举例:
<?xml version="1.0"?>
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder
  5.2.0//EN" "http://www.liferay.com/dtd/liferay-service-
  builder_5_2_0.dtd">
<service-builder package-path="com.ext.portlet.reports">
  <namespace>Reports</namespace>
  <entity name="ReportsEntry"
          uuid="true"
          local-service="true"
          remote-service="true"
          persistence-class="com.ext.portlet.reports.service.
                            persistence.ReportsEntryPersistenceImpl">
    <!-- PK fields -->
    <column name="entryId" type="String" primary="true" />
    <!-- Audit fields -->
    <column name="companyId" type="String" />
    <column name="userId" type="String" />
    <column name="userName" type="String" />
    <column name="createDate" type="Date" />
    <column name="modifiedDate" type="Date" />
    <!-- Other fields -->
    <column name="name" type="String" />
    <!-- Order -->
    <order by="asc">
      <order-column name="name" case-sensitive="false" />
    </order>
    <!-- Finder methods -->
    <finder name="CompanyId" return-type="Collection">
      <finder-column name="companyId" />
  </finder>
    <finder name="UserId" return-type="Collection">
      <finder-column name="userId" />
    </finder>
  </entity>
  <exceptions>
    <exception>EntryName</exception>
  </exceptions>
</service-builder>
service.xml编写规范
序号属性名必须描述
1service-builder ->package-path必填包路径
2namespace必填命名空间
3entity->name必填实体名
4entity->table必填数据库表名称
5entity->local-service必填本地服务
6entity->remote-service必填远程服务
7column->primary必填每个实体中至少有一个主键,primary="true"表明该列是主键


然后在ext ext-impl中的build.xml中添加相应的任务:
<target name="build-service-portlet-reports">
   <antcall target="build-service">
      <param name="service.file"
             value="src/com/ext/portlet/reports/service.xml" />
   </antcall>
</target>
下面就可以使用Ant。


在Ant build-service-portlet-reports的任务中,可以明显看到调用了build-service
而透过Ant build-parent.xml可以清晰的看到执行com.liferay.portal.tools.ServiceBuilder
经过查询com.liferay.portal.tools.ServiceBuilder的源代码,我们可以清晰的看到他的执行过程
它首先会获取Ant 任务参数获取,然后创建ServiceBuilder实例。。。。。。

其实根据这个ServiceBuilder我们可以清晰的明白中hibernate spring 清晰的业务处理关系。

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 15:48 , Processed in 0.012150 second(s), 15 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表