二品达通用权限系统__项目搭建

Posted 上善若水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二品达通用权限系统__项目搭建相关的知识,希望对你有一定的参考价值。

一、项目搭建

1.1、导入初始工程

鉴于时间关系,我们不再手动创建工程,初始工程pinda-authority导入即可。
导入步骤:

  1. 将初始工程pinda-authority复制到任意没有中文和空格的目录下
  2. 打开idea、选择open,选择pinda-authority工程目录即可

导入的项目结构如下:

1.2、项目模块介绍

品达通用权限系统项目整体工程结构和模块功能如下:

pinda-authority              #聚合工程,用于聚合pd-parent、pd-apps、pd-tools等模块
├── pd-parent				 # 父工程,nacos配置及依赖包管理
├── pd-apps					 # 应用目录
	├── pd-auth				 # 权限服务父工程
		├── pd-auth-entity   # 权限实体
		├── pa-auth-server   # 权限服务
	├── pd-gateway			 # 网关服务
└── pd-tools				 # 工具工程
	├── pd-tools-common		 # 基础组件:基础配置类、函数、常量、统一异常处理、undertow服务器
	├── pd-tools-core		 # 核心组件:基础实体、返回对象、上下文、异常处理、分布式锁、函数、树
	├── pd-tools-databases	 # 数据源组件:数据源配置、数据权限、查询条件等
	├── pd-tools-dozer		 # 对象转换:dozer配置、工具
	├── pd-tools-j2cache	 # 缓存组件:j2cache、redis缓存
	├── pd-tools-jwt         # JWT组件:配置、属性、工具
	├── pd-tools-log	     # 日志组件:日志实体、事件、拦截器、工具
	├── pd-tools-swagger2	 # 文档组件:knife4j文档
	├── pd-tools-user        # 用户上下文:用户注解、模型和工具,当前登录用户信息注入模块
	├── pd-tools-validator	 # 表单验证: 后台表单规则验证
	├── pd-tools-xss		 # xss防注入组件

项目服务有两个:网关服务和权限服务:

应用端口说明启动命令
pd-gateway8760网关服务java -jar pd-gateway.jar &
pd-auth-server8764权限服务java -jar pd-auth-server.jar &

由于本系统是基于当前非常流行的前后端分离开发方式开发,其中前端部分是由专门的前端开发人员负责。

1.3、服务注册和配置中心

本项目使用Nacos来作为服务的注册和配置中心。Nacos是阿里巴巴开源的一款支持服务注册于发现,配置管理以及微服务管理的组件。用来取代以前常用的注册中心(zookeeper、eureka等等)、以及配置中心(spring colud config等等)。Nacos是集成了注册中心和配置中心的功能,做到了二合一。
安装和配置过程如下:
第一步:下载Nacos安装包,地址:https://github.com/alibaba/nacos/releases/download/1.1.4/nacos-server-1.1.4.zip
第二步:将下载的zip压缩文件解压
第三步:修改配置文件:NACOS_HOME/conf/application.properties

#*************** Config Module Related Configurations ***************#
### If use mysql as datasource:
spring.datasource.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root

注意:Nacos在存储数据时既可以使用内置数据库存储,也可以通过第三方指定的数据库存储。我们上面指定了使用MySQL数据库来存储Nacos的相关数据,所以需要配置我们使用的MySQL数据库的数据源信息,这个可以根据自己的MySQL数据库进行相应调整,例如:MySQL的地址、用户名、密码等。
第四步:创建数据库

CREATE DATABASE `nacos` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

第五步:执行NACOS_HOME/conf/nacos-mysql.sql数据库脚本文件,完成后可以看到创建了如下表

第六步:启动Nacos服务,双击NACOS_HOME/bin/startup.cmd
Nacos单机模式与集群模式启动(java.net.UnknownHostException: jmenv.tbsite.net异常解决)

第七步:访问Nacos控制台,地址http://localhost:8848/nacos,默认用户名/密码:nacos/nacos
第八步:新建命名空间pinda-dev

注意,命名空间的id需要替换到项目文件 pd-parent/pom.xml中对应的nacos命名空间的id:

第九步:导入配置文件,选择nacos配置中心的命名空间,点击导入配置按钮,选择:docs/nacos/nacos_config_export_2020-03-23 17_31_42.zip。导入完成后如下:

1.4、redis

在项目开发阶段我们使用windows版的Redis,直接解压redis-win32-win64.zip压缩文件,然后双击REDIS_HOME/64bit/redis-server.exe启动Redis服务即可使用。

1.5、开发方式介绍

通过前面导入的初始项目可以看到,pd-tools工程中的各个子模块已经完成了开发,这些子模块属于项目的基础组件,为我们后续开发网关服务和权限服务提供支持,而且有一些子模块在其他项目中也可以复用。

  • pd-tools-swagger2 # 文档组件:knife4j文档
  • pd-tools-common # 基础组件:基础配置类、函数、常量、统一异常处理、undertow服务器
  • pd-tools-core # 核心组件:基础实体、返回对象、上下文、异常处理、分布式锁、函数、树
  • pd-tools-databases # 数据源组件:数据源配置、数据权限、查询条件等
  • pd-tools-dozer # 对象转换:dozer配置、工具
  • pd-tools-j2cache # 缓存组件:j2cache、redis缓存
  • pd-tools-jwt # JWT组件:配置、属性、工具
  • pd-tools-log # 日志组件:日志实体、事件、拦截器、工具
  • pd-tools-user # 用户上下文:用户注解、模型和工具,当前登录用户信息注入模块
  • pd-tools-validator # 表单验证: 后台表单规则验证
  • pd-tools-xss # xss防注入组件

以上是关于二品达通用权限系统__项目搭建的主要内容,如果未能解决你的问题,请参考以下文章

二品达通用权限系统__项目搭建

一品达通用权限系统__项目概述与Spring Boot Starter介绍

一品达通用权限系统__项目概述与Spring Boot Starter介绍

一品达通用权限系统__项目概述与Spring Boot Starter介绍

六品达通用权限系统__pd-tools-log

六品达通用权限系统__pd-tools-log