一、父工程spring boot和spring cloud版本号管理
spring cloud项目需要依赖spring boot环境运行,在谁spring官网上可以发现二者的对应关系,在利用idea开发时,我们可以在父工程pom文档中管二者的版本号,以便于以后的开发和维护。
小编使用的spring boot版本号为2.1.2.RELEASE,spring cloud的版本号为:Greenwich.SR4
<!-- 工程府项目管理spring boot和spring cloud的版本号 -->
<!-- 定义spring boot的版本号为2.1.2.RELEASE -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.2.RELEASE</version>
</parent>
<!-- 管理spring cloud的版本号为Greenwich.SR4 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.SR4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
二、eureka注册中心工程依赖
<!--eureka服务端依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
三、eureka客户端工程依赖
eureka客户需要管理eureka客户端本身的依赖,还需要有web应用和序列化的相关依赖。
小编用的缓存为redis,所以添加了spring boot自带的redis缓存依赖。
持久层方面,使用MySQL数据库,需要添加MySQL数据库连接依赖,持久层框架运用的是mybatis plus框架,引入了mybatis和spring boot整合的框架,另外添加了mybatis plus的自动生成代码块框架。连接池引入的是阿里的druid框架。
另外添加一个自己开发工厂依赖。
<!-- eureka客户端依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!-- web项目相关依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- fastjson依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.54</version>
</dependency>
<!-- spring boot redis缓存依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- mqsql数据库连接依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.44</version>
</dependency>
<!-- mybatis plus连接依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.1</version>
</dependency>
<!-- mybatis plus自动生成代码块依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.3.1</version>
</dependency>
<!-- 阿里连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.14</version>
</dependency>
<!-- 自己工厂类依赖 -->
<dependency>
<groupId>org.s2pe</groupId>
<artifactId>util</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
四、网关工程依赖
网关工程和eureka工程类似,需要添加eureka客户端、redis缓存和web相关依赖,只是没有持久化应用,所以没有添加MySQL相关的一系列依赖。在此基础上,需要添加网关和负载均衡的依赖。
<!-- eureka客户端依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!-- spring boot redis依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- web项目相关依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- spring zuul网关依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
<!-- openfeign负载均衡依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!-- 自己工厂类依赖 -->
<dependency>
<groupId>org.s2pe</groupId>
<artifactId>util</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>