实战培训

当前位置:首页>帮助手册>实战培训

后端二次开发

时间:2022-09-22   

一、开发环境

  1. JDK 11

  2. maven V3.5+ maven配置建议引入阿里的maven仓库

image.png

  1. 运行环境 o2server V6.1及以上

二、搭建工程及配置

  1. git clone下载:https://gitee.com/o2oa/o2oa_custom.git

  2. 然后重命名文件夹名称为自己业务相关的名称(如:o2custom-device)

  3. 打开系统命令窗口(cmd),进入到2步骤的文件夹,然后执行mvn install(第一次需要下载很多依赖包比较慢),直至BUILD SUCCESS。

  4. 使用idea或者eclipse导入工程(eclipse导入之前先执行mvn命令:mvn eclipse:eclipse)

  5. 工程目录解析:

    • store目录存储mvn install命令后打包的war包和jar包,其中x_base_core_project.jar包为系统包,不能删除(打包时需要)

    • x_program_center目录打包时生成,可以直接删除;

    • x_sampleproject_assemble_control为业务应用工程,所有业务代码都写在这里;

    • x_sampleproject_core_entity为实体类工程,如果业务不需要与数据库交互可以删除此工程。

image (1).png


修改工程名称及配置:

    • 根据业务修改工程名称中sampleproject的名字,这里修改为sso

image (2).png


    • 修改所有pom文件中的工程名称

image (3).png

    • 修改类包的sampleproject名称为model

image (4).png

    • 修改x_sampleproject_assemble_control类名称为x_model_assemble_control,并修改该类中的sampleproject名称为model

image (5).png


    • 最后再用maven命令或者工具进行mvn install,直至success,这样新的工程就搭建完成了。


三、业务开发

  1. 如果有自己的业务数据需要存储,那首先需要定义实体类,实体类是与数据库表映射(o2oa是通过openjpa与数据库交互,表会通过实体类在工程第一次访问的时候自动创建的,无需手工创建),可以拷贝或修改SampleEntityClassName类(我们以设备device信息举例),表名称根据业务自己定义,然后添加或修改业务属性,名称name、规格spec、型号model、数量number、描述remark

image (6).png

image (6).png

image (7).png


添加或修改实体类后,需要在x_model_assemble_control类的containerEntities中添加或修改(类名称)对应的实体类,多值逗号隔开

image (8).pngimage (8).png

业务接口开发,后端业务统一提供restful接口,业务模块在com.x.model.assemble.control.jaxrs下开发,现在有示例sample模块,根据需要修改名称或添加模块,模块的路口为xxxAction

image (9).png


权限过滤配置,根据业务需要定义接口是否需要权限访问,JaxrsServicePathFilter需要权限访问,AnonymousJaxrsServicePathFilter不需要权限访问,把业务地址配置到相应类中

image (10).png

应用模块配置文件,应用定义的配置文件同平台配置存放在o2server/config下,配置文件名称为custom_开头的.json文件

image (11).png

第三方jar包使用,开发过程中需要引入平台不存在的第三方jar包在pom文件引入即可,部署的时候需要把额外引入的jar包放到o2server/custom/jars目录下,但V6.4及以上版本把额外的jar包放到工程的ext目录即可,部署的时候不需要再把包放到o2server/custom/jars目录下

image (12).png

四、打包部署

先通过mvn clean清理,然后再通过mvn install命令打包,打包后会生成war包和jar包到项目的store目录下,war包部署到o2server/custom下,jar包部署到o2server/custom/jars目录下,项目如果有通用帮助类需要在前端脚本(如服务器管理的接口脚本)使用,可以打包成jar包部署在o2server/custom/jars目录下。

应用包部署也可以通过web端部署,管理员登录平台进入系统设置——系统部署——服务部署,先部署custom的jar,再部署custom的war,部署好后需要重启o2server。

image (13).png

部署成功与否可以访问http://*:20030/x_program_center/jest/list.html检查api列表中是否有部署的模块(需管理员登录o2server),如:

image (14).png



上一篇:源码编译

下一篇:没有了!