介绍

搭建工程开发环境有两种方式:

  1. 创建新工程进行搭建
  2. 拉取已有工程进行搭建

按实际情况选择

创建工程

通过pai工具生成我们后端工程的基本骨架,将一些基本的增删查代码通过表结构进行生成,节省了我们因搭建项目所花费的时间。

操作示例

前置条件:已经配置开发环境准备,请看以往章节

1. 先进行登录

pai login

2. 查看pai创建工程帮助

pai create -h  
### 创建工程骨架

语法:
pai create <命令> [参数]

命令:
 service            创建后端工程
 front              创建前端工程
 micro              创建APP小程序工程
 data               创建数据中台工程
 docker             创建Docker工程
 protocol           创建物联协议工程

参数:
 -h,--help   使用帮助

示例:
创建后端工程
 pai create service -n pai-demo
 pai create service -n pai-demo -s cn.flyrise.demo
 pai create service -n pai-demo -p demo

创建前端工程
 pai create front -n pai-demo-ui
 pai create front -n pai-demo-ui -m node
 pai create front -n pai-demo -s cn.flyrise.demo

创建APP小程序工程
 pai create micro -n pai-demo
 pai create micro -n pai-demo -s cn.flyrise.demo

创建数据中台工程
 pai create data -n pai-demo
 pai create data -n pai-demo -s cn.flyrise.demo

创建Docker工程
 pai create docker -n pai-demo
 pai create docker -n pai-demo -s cn.flyrise.demo

3. 创建后端工程

命名规范
后端:以 pai 开头, 如:pai-xxx
前端:以 pai 开头,前端以 ui 结尾, 如:pai-xxx-ui
Docker:以 pai 开头,前端以 dk 结尾, 如:pai-xxxx-dk
数据端:以 pai-dp 开头, 如:pai-dp-xxxx

#注意工程将创建在当前目录下,目录不对请先更改位置再执行命令

#创建后端工程
pai create service 
#创建后端工程 指定工程名称 pai-demo 
pai create service -n pai-demo
#创建后端工程 指定工程名称 pai-demo 并绑定应用套件
pai create service -n pai-demo -s 套件标识

绑定应用套件并非强制性,也可通过开发者后台>应用套件>绑定工程

项目基本骨架结构

pai-xxxx
├─src
│  └─main
│    ├─java
│    │  └─com
│    │     └─example
│    │          └─demo
│    │              │ Application.java                    // 程序启动入口
│    │              ├─config                              // 全局配置
│    │              ├─controller                          // 接口控制器
│    │              ├─dao                                 // 数据持久层
│    │              ├─exception                           // 异常处理
│    │              │   ├─BusinessErrors.java             // 错误常量
│    │              │   └─DemoBizException.java           // 业务异常类
│    │              ├─model                               // 模型层
│    │              │  ├─po                               // 持久层数据模型
│    │              │  └─vo                               // 业务层数据模型
│    │              ├─service                             // 服务逻辑层接口
│    │              │  └─impl                             // 服务逻辑层实现
│    │              └─util                                // 通用工具
│    └─resources                                          // 应用配置
│        │ ├─application.yml                              // 应用参数
│        │ ├─bootstrap-dev.yml                            // 开发域参数
│        │ ├─bootstrap-test.yml                           // 测试域参数
│        │ ├─bootstrap.yml                                // 程序引导
│        │ └─logback-config.xml                           // 日志配置
│        ├─i18n                                           // 国际化配置
│        │  └─messages.properties                         // 默认配置
│        └─mapper                                         // Mapper XML配置
├─.gitignore                                              // Git版本管理配置
├─Deployment.yaml                                         // K8s部署Deployment描述
├─Service.yaml                                            // K8s部署Service描述
├─Dockerfile                                              // Docker镜像打包描述
└─pom.xml                                                 // Maven管理配置

resourse目录下的配置文件说明

  • logback-config.xml
    关于日志的一个配置文件。
  • bootstrap-dev.yml和bootstrap-test.yml
    声明关于SpringCloud Config Server的一些信息。
  • bootstrap.yml
    是应用程序的父上下文,加载优先于 application。
    主要声明了端口号和环境配置的一些信息。
  • application.yml
    容器启动默认扫描的配置文件,同目录下优先级低于bootstrap配置文件。
    主要配置mybatis,swagger,security等。
  • messages.properties
    关于异常错误信息的配置文件。

启动类

@EnablePaiResourceServer
@SpringCloudApplication
@EnablePaiFeignClients("cn.flyrise.*")
@EnableAspectJAutoProxy(exposeProxy = true)
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

注解说明

  • @EnablePaiResourceServer
    意味着服务(就OAuth 2.0而言 – 资源服务器)需要访问令牌才能进行请求。
    在调用资源服务器之前,应通过OAuth 2.0客户端从授权服务器获取访问令牌。
    如果注释掉此注解,会走原生SpringSecurity,从而需要登陆,就算登陆成功,在调用资源服务器也可能面临被拒绝访问。

  • @EnablePaiFeignClients
    启用feign客户端。
    将远端服务映射成为本地方法进行调用。
    扫描和注册feign客户端bean定义。

  • @SpringCloudApplication
    启动类,用于启动容器

  • @EnableAspectJAutoProxy
    启用AOP动态代理

拉取工程

操作示例

前提:用户已加入应用套件,应用套件>成员管理

1. 先进行登录

pai login

3. 拉取工程

pai clone -n 工程名

IDE导入工程

前提

IntelliJ IDEA已安装
已配置JDK环境变量

操作示例

1、创建空白项目

操作:打开IntelliJ IDEA -> New Project

创建一个空白项目

设置项目名称

2、配置

配置SDK
操作:菜单栏 File -> Project Structure

配置项目的Maven配置
操作:点击菜单栏File-> Preferences

这样设置的好处是不影响你其他项目的Maven配置

3、导入工程

操作:菜单栏 File -> Project Structure -> Modules

选择新创建或拉取的工程目录,一定要选择以Maven目录导入

项目导入成功

运行Application启动工程

分享
一项目都是有多个工程,如果有新工程只需要再次操作第三步引入工程

文档更新时间: 2023-02-28 09:46   作者:欧阳少海