Liferay7 BPM门户开发之19: 理解Service Builder体系

Posted 昕友软件开发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Liferay7 BPM门户开发之19: 理解Service Builder体系相关的知识,希望对你有一定的参考价值。


Service Builder是Liferay为业务开发而设计的模型驱动(model-driven)平台工具,提供一系列的实体类、数据持久化、服务相关的代码自动生成服务。支持Hibernate and Spring集成,缓存处理,动态查询等特性。令人惊讶的是,Liferay所有的持久化代码、Servie接口代码都是由Service Builder自动生成的,可见其自动化程度之高。

注意:Liferay的数据持久化开发不是必需用Service Builder,你可以直接用JDBC、JPA等任何技术。使用Service Builder只需要少量的学习,即可节省大量的开发时间。数据访问层和服务层很容易就自动生成,只需要创建一个配置文件service.xml,然后运行,CRUD 和相关方法就自动创建。

服务层的生成分两种:local service、remote service。前者供本地程序使用(即同一个jvm的java应用),远程服务则是通过SOAP or JSON访问
数据持久化层是包装了Spring 和 Hibernate的自动配置和注入(AOP、DI、ORM)

Service Builder带来的另一个好处是支持自定义的finder方法。

在 Liferay7中,可以通过https://github.com/liferay/liferay-blade-samples 来快速建立Service Builder工程

定义Service Builder映射的7个步骤

STEP 1: 创建service.xml
DTD的定义文件:http://www.liferay.com/dtd/liferay-service-builder_7_0_0.dtd

STEP 2: 定义全局信息


STEP 3: 定义ENTITIES


STEP 4: 定义ENTITY的列


STEP 5: 定义ENTITIES关系


STEP 6: 定义排序


STEP 7: 定义FINDER方法

 


运行Service Builder的2个方法

方法1: 通过IDE,Package Explorer → right click your parent project → Liferay → Gradle → build-service
方法2: 通过linux命令行:gradlew buildService 更多信息见:https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/creating-a-liferay-workspace-with-blade-cli

 

定制SQL

 

动态查询

 

例子

以上是关于Liferay7 BPM门户开发之19: 理解Service Builder体系的主要内容,如果未能解决你的问题,请参考以下文章

Liferay7 BPM门户开发之37: Liferay7下的OSGi Hook集成开发

Liferay7 BPM门户开发之17: Portlet 生命周期

Liferay7 BPM门户开发之3: Activiti开发环境搭建

Liferay7 BPM门户开发之34: liferay7对外服务类生成(RestService Get Url)

Liferay7 BPM门户开发之30: 通用帮助类ValidatorArrayUtilStringUtil等使用

Liferay7 BPM门户开发之8: Activiti实用问题集合