• 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

    动态查询

    例子

  • 相关阅读:
    内联函数和宏
    python面向对象高级:@property
    python面向对象高级:__slots__
    Python哈希表的例子:dict、set
    python数据结构之哈希表
    python数据结构之队列
    python数据结构之堆栈
    python数据结构之链表
    分治法及其python实现例子
    查找算法:二分法查找及其python实现案例
  • 原文地址:https://www.cnblogs.com/starcrm/p/6043352.html
Copyright © 2020-2023  润新知