# EOS后端工程创建与部署
# 环境准备
# 后端环境
- 开发工具 - Studio作为后端开发工具,在EOS_Platform_8.X_Private_Medium_Develop.zip解压后IDE目录下。
- mysql客户端工具,请根据自己情况下载。
 
- 运行环境 EOS运行环境依赖以下环境(安装介质中均包含),其中在运行应用时 mysql,nacos,redis,Nginx需要优先启动,其他介质无顺序要求。 
| 应用 | 说明 | 默认端口 | 
|---|---|---|
| mysql 服务 | 数据库服务 | 3306 | 
| nacos 应用 | 配置中心,注册中心 | 8848 | 
| nginx 应用 | 代理服务器 | 80 | 
| redis 服务 | 缓存服务器 | 6379 | 
| Afcenter 应用 | 基础平台应用 | 28083 | 
- 通过http://locahost/ 访问验证AFCenter是否能够正常登录 
- 新建项目 ![新建项目]() 新建EOS后端项目,等待项目构建完毕,会构成以 api,boot,core,model.spi ,结尾的5个构建包 新建EOS后端项目,等待项目构建完毕,会构成以 api,boot,core,model.spi ,结尾的5个构建包- 项目结构说明:api构建包为项目的服务发布构建包,boot构建包主要是项目的启动类和配置文件,core构建包主要是业务构建包,可根据实际情况新增业务构建包,需要注意构建包之间的依赖关系,不可互相依赖,core,model构建包同EOS7版本的构建包保持一致,既可以通过之前的EOS开发模式进行开发,也可通过springboot形式进行开发,功能向导需在core构建包右键方可进行。model构建包主要的作用是存放项目中数据实体,SPI构建包主要是扩展业务用的。 
- 修改应用配置文件 修改应用端口和管理端口,默认端口会和其他应用冲突,导致项目无法正常启动。 ![修改配置文件]() 
- 修改数据源配置 建立应用的数据库,修改应用的数据源配置,数据源文件路径为 boot构建包下配置/srv/config/user-config.xml文件。 ![修改数据源]() - 建立业务数据
- 初始化数据库,新建的项目(数据源不和afcenter共享),需执行以下路径脚本
 - 重点: - D:\primeton\eos-8.x-dev\server\afcenter\db-scripts\single\bfp-framework - D:\primeton\eos-8.x-dev\server\afcenter\db-scripts\single\eos 流程框架的初始化脚本 - D:\primeton\eos-8.x-dev\server\afcenter\db-scripts\single\lowcode 低代码开发的初始化脚本 - 建立业务表 - DROP TABLE IF EXISTS DEMO_CUSTOMER; CREATE TABLE DEMO_CUSTOMER ( ID INT(11) NOT NULL , CUSTOMER_NAME VARCHAR(100) NOT NULL COMMENT '客户名称', CUSTOMER_CODE VARCHAR(100) NOT NULL COMMENT '客户代码', CRED_TYPE VARCHAR(16) DEFAULT NULL COMMENT '证件类型', CRED_NO VARCHAR(32) DEFAULT NULL COMMENT '证件号码', CUSTOMER_PHONE VARCHAR(30) DEFAULT NULL COMMENT '客户电话', CUSTOMER_ADDRESS VARCHAR(100) DEFAULT NULL COMMENT '客户地址', REMARK VARCHAR(300) DEFAULT NULL COMMENT '备注', CREATE_USER VARCHAR(64) DEFAULT NULL COMMENT '创建人', CREATE_TIME DATETIME DEFAULT NULL COMMENT '创建时间', UPDATE_USER VARCHAR(64) DEFAULT NULL COMMENT '更新人', UPDATE_TIME DATETIME DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (ID) ) COMMENT '客户信息';
 - tip:项目开发过程中,业务表中CREATE_USER , CREATE_TIME , UPDATE_USER , UPDATE_TIME请按照上面命名。 
- 配置IDE数据源 数据源需要建立两个,第一个作为业务数据源,第二数据源需要指向afcenter的数据源,主要是获取业务字典的数据。请按照以下步骤分别建立数据源。 - 新建数据库链接->视图左下角数据库连接右键新建 ![新建数据源]() 
- 新建mysql数据连接 ![配置mysql链接]() 
- 指定驱动 ![新建驱动]() 
- 选择模板并查找数据库驱动包 ![选择驱动]() 
- 添加数据库驱动jar包 - #驱动包可根据数据库版本自行选择,本例中可以选用应用下lib/jdbc/下的驱动包: D:\primeton\eos-8.2-dev\nacos\lib\mysql-connector-java-8.0.17.jar- - 填写数据库连接信息 用户名/密码:root/primeton ![数据库连接信息图片]() - 重复以上的步骤,建立afcenter数据源。此处的数据仅为向导生成代码过程中提供数据来源,生产环境无需配置afenter数据源 
- 验证业务字典数据源 首选项->primeton EOS->业务字典配置 中选择上一步建立的afcenter数据源,刷新业务字典表,如下图: ![dict]() 
 
- 创建数据实体 在model构件包项目中创建数据实体 ![new_entity]() 注意:在建立数据实体的过程中,务必增加数据实体的显示名,描述等信息,如下图 注意:在建立数据实体的过程中,务必增加数据实体的显示名,描述等信息,如下图![entity]() 
- 验证应用 在验证应用前,请启动以下应用 
| 应用 | 说明 | 
|---|---|
| mysql 服务 | 数据库服务 | 
| nacos 应用 | 配置中心,注册中心 | 
| nginx 应用 | 代理服务器 | 
| redis 服务 | 缓存服务器 | 
| Afcenter 应用 | 基础平台应用 | 
- 启动并验证后端服务 - 启动本项目
![启动应用]() 若项目启动无异常且服务状况均无异常,说明项目以成功发布。 若项目启动无异常且服务状况均无异常,说明项目以成功发布。
 
- 启动本项目
- 接口测试 - 查看swagger 访问地址 http://ip:端口/swagger-ui.html ![swagger]() 
- 接口调用 请自行安装PostMan (opens new window),APIFox等接口测试工具进行测试,PostMan调用是,请求头需设置token,否则被登录拦截器拦截,无妨访问接口,设置方式如下 ![token]() 将上图中的值设置到请求头 将上图中的值设置到请求头![postman_header]() 接口调用示例(postman) 接口调用示例(postman)![接口测试]() 
 
- 打包 - 创建项目、验证完成后,可使用maven命令 - clean package对EOS项目进行打包,打包后会在boot下的target文件夹下生成GZ格式压缩文件,该文件就是项目的运行介质,可将介质解压缩后在windows端或上传至linux端部署运行。
- 部署 - 部署是把文件发布到boot构件包固定目录的过程,EOS Studio中有3种级别的部署: 
- 项目部署 - 部署整个项目。 
- 构件包部署 - 部署所选构件包。 
- 文件部署 - 部署单个文件或者文件夹。 
部署有两种方式:
- 自动部署 - EOS Studio默认是自动部署的,即当项目中的文件编辑保存后,会自动执行部署操作将该文件部署到对应位置下。 
- 手动部署 - 手动部署是指用户手动点击部署菜单执行Maven编译部署操作。 
# 手动部署
1.打开"资源管理器"视图,打开boot构件包中配置节点下application.properties或application.yml文件,配置部署的应用名称"spring.application.name",如下图应用名称为“EOS8-DEMO-APP”。
 2.选中项目,单击鼠标右键,在右键菜单选择[Maven/Update project]快捷菜单项,如下图所示。
2.选中项目,单击鼠标右键,在右键菜单选择[Maven/Update project]快捷菜单项,如下图所示。
 3.单击确认即可完成部署。
3.单击确认即可完成部署。
4.部署完成后,EOS Studio将把编译好的项目资源自动部署到EOS Server的boot项目目录/target/EOS8-DEMO-APP/work/user下。
 新建EOS后端项目,等待项目构建完毕,会构成以 api,boot,core,model.spi ,结尾的5个构建包
新建EOS后端项目,等待项目构建完毕,会构成以 api,boot,core,model.spi ,结尾的5个构建包







 注意:在建立数据实体的过程中,务必增加数据实体的显示名,描述等信息,如下图
 注意:在建立数据实体的过程中,务必增加数据实体的显示名,描述等信息,如下图 
 若项目启动无异常且服务状况均无异常,说明项目以成功发布。
若项目启动无异常且服务状况均无异常,说明项目以成功发布。
 将上图中的值设置到请求头
将上图中的值设置到请求头
 接口调用示例(postman)
接口调用示例(postman)
