基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(二)【构建实体模型】

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linzhefeng89/article/details/79311576

     在spring cloud整个项目构建的过程中,我们发现很多实体和工具是高度重复的,因此我们可以首先创建实体模型并在实体模型中将所有通用的实体和工具类全部给创建出来,同理相应的生产者和消费者模块也可以构建出一个通用的基础模块出来。

     该项目是基于RBAC(基于角色的权限访问控制)权限架构所构建一个分布式云权限架构管理系统,系统架构PDM如下图所示。

     

     基于我们所设计好的RBAC权限架构我们开始构建我们的整个spring cloud工程操作如下:

     打开我们的IDEA(2017版)开发工具file=>new =>project=>Empty Project然后next写上我们的整个spring cloud工程的名字创建工程如下图所示:


接着在我们的刚刚创建的项目中创建我们的第一个modules如下图所示:

       

然后按照spring boot的方式创建我们的第一个云权限架构的工程model接着一路next创建好工程如下所示:


       到此我们就创建好了我们的实体模型项目,接着我们开始编写我们的实体模型项目将我们相应的实体和工具添加到我们的model项目中,项目结构如下图所示。

        

在构建此项目的时候我们首先在pom.xml中引入如下的MAVEN依赖:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.base</groupId>
	<artifactId>model</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>model</name>
	<description>Demo project for Spring Boot</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.9.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>

		<!-- 引入json的依赖 classifier必须要加这个是json的jdk的依赖-->
		<dependency>
			<groupId>net.sf.json-lib</groupId>
			<artifactId>json-lib</artifactId>
			<version>2.4</version>
			<classifier>jdk15</classifier>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<scope>provided</scope>
		</dependency>

		<!-- 添加对spring-redis的支持 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-redis</artifactId>
			<version>1.3.8.RELEASE</version>
		</dependency>

		<!--Gson-->
		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>
<!-- 此块是maven个人中心仓库,若大家无自己的maven个人中心仓库可以直接注释此块的内容,不过我像大家既然知道maven那么对构建maven中心仓库应该是没有压力的 -->
	<distributionManagement>

		<repository>

			<id>user-releases</id>

			<name>user-releases</name>

			<url>http://10.6.71.235:8081/repository/maven-releases/</url>

		</repository>

		<snapshotRepository>

			<id>user-snapshots</id>

			<name>user-snapshots</name>

			<url>http://10.6.71.235:8081/repository/maven-snapshots/</url>

		</snapshotRepository>

	</distributionManagement>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>


</project>

     接着我们在我们的项目中分别构建我们如上图所示的实体,由于实体基本都是get和set此处我就不再做累述了,大家可以直接在文章的末尾直接链接到我的github上去直接拿这块的代码。

     此处简单的介绍下工具类里面的几个工具类的作用:ip包工具类是为了获取用户访问的真实IP地址;json包工具类是一个简易的JSON转换工具;redis包的工具类是操作redis内存数据库的工具类;serialize包的工具类是序列化工具类,这些工具类在我们后续的其他几个微服务中会使用到,具体这些工具类的实现在网上已经非常多了,这里大家只要会使用就好了,若需要深究的话请大家自行百度。

      到此为止的GitHub项目地址:https://github.com/185594-5-27/spring-cloud-rbac/tree/model-master

上一篇文章地址:基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(一)【云架构前言】

下一篇文章地址:基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(三)【构建注册中心】

QQ交流群:578746866

猜你喜欢

转载自blog.csdn.net/linzhefeng89/article/details/79311576