一、工程结构介绍

1、工程结构

592a017b-f501-4359-b92f-8b75875c45f7.png

2、模块说明

guli-parent:在线教学根目录(父工程),管理四个子模块:
canal-client:canal数据库表同步模块(统计同步数据)
common**:公共模块父节点
common-util:工具类模块,所有模块都可以依赖于它
service-base:service服务的base包,包含service服务的公共配置类,所有service模块依赖于它
spring-security:认证与授权模块,需要认证授权的service服务依赖于它
infrastructure**:基础服务模块父节点
api-gateway:api网关服务
service**:api接口服务父节点
service-acl:用户权限管理api接口服务(用户管理、角色管理和权限管理等)
service-cms:cms api接口服务
service-edu:教学相关api接口服务
service-msm:短信api接口服务
service-order:订单相关api接口服务
service-oss:阿里云oss api接口服务
service-statistics:统计报表api接口服务
service-ucenter:会员api接口服务
service-vod:视频点播api接口服务

二、创建父工程

1、创建sprigboot工程guli-parent
在idea开发工具中,使用 Spring Initializr 快速初始化一个 Spring Boot 模块,版本使用:2.2.1.RELEASE

871a0fee-b077-4abe-bf24-dc528124b828.png

配置:
groupId:com.atguigu
artifactId:guli-parent
一直下一步到完成

951eecd3-0238-44f5-9e75-9d908a4de5b3.png

2、删除 src 目录



fbd1cb11-4103-4506-b6f3-ebe3f81a5d71.png

3、配置 pom.xml

修改版本为 :2.2.1.RELEASE
1c2115d0-3dd7-4cb9-b498-e845c0266dd3.png

节点后面添加 pom类型

  1. <artifactId>guli-parent</artifactId>
  2. <packaging>pom</packaging>

4、在pom.xml中添加依赖的版本

删除pom.xml中的
内容**

  1. <!-- 以下内容删除 -->
  2. <dependencies>
  3. <dependency>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-starter</artifactId>
  6. </dependency>
  7. <dependency>
  8. <groupId>org.springframework.boot</groupId>
  9. <artifactId>spring-boot-starter-test</artifactId>
  10. <scope>test</scope>
  11. </dependency>
  12. </dependencies>

添加 确定依赖的版本

  1. <properties>
  2. <java.version>1.8</java.version>
  3. <guli.version>0.0.1-SNAPSHOT</guli.version>
  4. <mybatis-plus.version>3.0.5</mybatis-plus.version>
  5. <velocity.version>2.0</velocity.version>
  6. <swagger.version>2.7.0</swagger.version>
  7. <aliyun.oss.version>2.8.3</aliyun.oss.version>
  8. <jodatime.version>2.10.1</jodatime.version>
  9. <poi.version>3.17</poi.version>
  10. <commons-fileupload.version>1.3.1</commons-fileupload.version>
  11. <commons-io.version>2.6</commons-io.version>
  12. <httpclient.version>4.5.1</httpclient.version>
  13. <jwt.version>0.7.0</jwt.version>
  14. <aliyun-java-sdk-core.version>4.3.3</aliyun-java-sdk-core.version>
  15. <aliyun-sdk-oss.version>3.1.0</aliyun-sdk-oss.version>
  16. <aliyun-java-sdk-vod.version>2.15.2</aliyun-java-sdk-vod.version>
  17. <aliyun-java-vod-upload.version>1.4.11</aliyun-java-vod-upload.version>
  18. <aliyun-sdk-vod-upload.version>1.4.11</aliyun-sdk-vod-upload.version>
  19. <fastjson.version>1.2.28</fastjson.version>
  20. <gson.version>2.8.2</gson.version>
  21. <json.version>20170516</json.version>
  22. <commons-dbutils.version>1.7</commons-dbutils.version>
  23. <canal.client.version>1.1.0</canal.client.version>
  24. <docker.image.prefix>zx</docker.image.prefix>
  25. <cloud-alibaba.version>0.2.2.RELEASE</cloud-alibaba.version>
  26. </properties>
  27. 配置 <dependencyManagement> 锁定依赖的版本
  28. <dependencyManagement>
  29. <dependencies>
  30. <!--Spring Cloud-->
  31. <dependency>
  32. <groupId>org.springframework.cloud</groupId>
  33. <artifactId>spring-cloud-dependencies</artifactId>
  34. <version>Hoxton.RELEASE</version>
  35. <type>pom</type>
  36. <scope>import</scope>
  37. </dependency>
  38. <dependency>
  39. <groupId>org.springframework.cloud</groupId>
  40. <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  41. <version>${cloud-alibaba.version}</version>
  42. <type>pom</type>
  43. <scope>import</scope>
  44. </dependency>
  45. <!--mybatis-plus 持久层-->
  46. <dependency>
  47. <groupId>com.baomidou</groupId>
  48. <artifactId>mybatis-plus-boot-starter</artifactId>
  49. <version>${mybatis-plus.version}</version>
  50. </dependency>
  51. <!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 -->
  52. <dependency>
  53. <groupId>org.apache.velocity</groupId>
  54. <artifactId>velocity-engine-core</artifactId>
  55. <version>${velocity.version}</version>
  56. </dependency>
  57. <!--swagger-->
  58. <dependency>
  59. <groupId>io.springfox</groupId>
  60. <artifactId>springfox-swagger2</artifactId>
  61. <version>${swagger.version}</version>
  62. </dependency>
  63. <!--swagger ui-->
  64. <dependency>
  65. <groupId>io.springfox</groupId>
  66. <artifactId>springfox-swagger-ui</artifactId>
  67. <version>${swagger.version}</version>
  68. </dependency>
  69. <!--aliyunOSS-->
  70. <dependency>
  71. <groupId>com.aliyun.oss</groupId>
  72. <artifactId>aliyun-sdk-oss</artifactId>
  73. <version>${aliyun.oss.version}</version>
  74. </dependency>
  75. <!--日期时间工具-->
  76. <dependency>
  77. <groupId>joda-time</groupId>
  78. <artifactId>joda-time</artifactId>
  79. <version>${jodatime.version}</version>
  80. </dependency>
  81. <!--xls-->
  82. <dependency>
  83. <groupId>org.apache.poi</groupId>
  84. <artifactId>poi</artifactId>
  85. <version>${poi.version}</version>
  86. </dependency>
  87. <!--xlsx-->
  88. <dependency>
  89. <groupId>org.apache.poi</groupId>
  90. <artifactId>poi-ooxml</artifactId>
  91. <version>${poi.version}</version>
  92. </dependency>
  93. <!--文件上传-->
  94. <dependency>
  95. <groupId>commons-fileupload</groupId>
  96. <artifactId>commons-fileupload</artifactId>
  97. <version>${commons-fileupload.version}</version>
  98. </dependency>
  99. <!--commons-io-->
  100. <dependency>
  101. <groupId>commons-io</groupId>
  102. <artifactId>commons-io</artifactId>
  103. <version>${commons-io.version}</version>
  104. </dependency>
  105. <!--httpclient-->
  106. <dependency>
  107. <groupId>org.apache.httpcomponents</groupId>
  108. <artifactId>httpclient</artifactId>
  109. <version>${httpclient.version}</version>
  110. </dependency>
  111. <dependency>
  112. <groupId>com.google.code.gson</groupId>
  113. <artifactId>gson</artifactId>
  114. <version>${gson.version}</version>
  115. </dependency>
  116. <!-- JWT -->
  117. <dependency>
  118. <groupId>io.jsonwebtoken</groupId>
  119. <artifactId>jjwt</artifactId>
  120. <version>${jwt.version}</version>
  121. </dependency>
  122. <!--aliyun-->
  123. <dependency>
  124. <groupId>com.aliyun</groupId>
  125. <artifactId>aliyun-java-sdk-core</artifactId>
  126. <version>${aliyun-java-sdk-core.version}</version>
  127. </dependency>
  128. <dependency>
  129. <groupId>com.aliyun.oss</groupId>
  130. <artifactId>aliyun-sdk-oss</artifactId>
  131. <version>${aliyun-sdk-oss.version}</version>
  132. </dependency>
  133. <dependency>
  134. <groupId>com.aliyun</groupId>
  135. <artifactId>aliyun-java-sdk-vod</artifactId>
  136. <version>${aliyun-java-sdk-vod.version}</version>
  137. </dependency>
  138. <dependency>
  139. <groupId>com.aliyun</groupId>
  140. <artifactId>aliyun-java-vod-upload</artifactId>
  141. <version>${aliyun-java-vod-upload.version}</version>
  142. </dependency>
  143. <dependency>
  144. <groupId>com.aliyun</groupId>
  145. <artifactId>aliyun-sdk-vod-upload</artifactId>
  146. <version>${aliyun-sdk-vod-upload.version}</version>
  147. </dependency>
  148. <dependency>
  149. <groupId>com.alibaba</groupId>
  150. <artifactId>fastjson</artifactId>
  151. <version>${fastjson.version}</version>
  152. </dependency>
  153. <dependency>
  154. <groupId>org.json</groupId>
  155. <artifactId>json</artifactId>
  156. <version>${json.version}</version>
  157. </dependency>
  158. <dependency>
  159. <groupId>commons-dbutils</groupId>
  160. <artifactId>commons-dbutils</artifactId>
  161. <version>${commons-dbutils.version}</version>
  162. </dependency>
  163. <dependency>
  164. <groupId>com.alibaba.otter</groupId>
  165. <artifactId>canal.client</artifactId>
  166. <version>${canal.client.version}</version>
  167. </dependency>
  168. </dependencies>
  169. </dependencyManagement>