zoukankan      html  css  js  c++  java
  • 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计算机视觉项目实践
    Codeforces Round #256 (Div. 2) B (448B) Suffix Structures
    SonarLint插件的安装与使用
    后缀表达式求值
    有用代码段2
    提高Java代码质量的Eclipse插件之Checkstyle的使用具体解释
    Intellij Idea搭建Spark开发环境
    代码备忘, TODO宏实现
    浏览器自己主动填表安全漏洞:查看浏览器保存的password
    PDO 查询mysql返回字段整型变为String型解决方法
  • 原文地址:https://www.cnblogs.com/starcrm/p/6043352.html
Copyright © 2011-2022 走看看