Spring Boot父工程规划

一 规划工程结构

guli_parent:根目录(父工程),管理四个子模块:

        canal_client:canal数据库表同步模块(统计同步数据)

        common:公共模块父节点

                common_util:工具类模块,所有模块都可以依赖于它

                service_base:service服务的base包,包含service服务的公共配置类,所有service模块依赖于它

                spring_security:认证与授权模块,需要认证授权的service服务依赖于它

        infrastructure:基础服务模块父节点

                api_gateway:api网关服务

        service:api接口服务父节点

                service_edu:教学相关api接口服务

                service_oss:阿里云oss api接口服务

                service_acl:用户权限管理api接口服务(用户管理、角色管理和权限管理等)

                service_cms:cms api接口服务

                service_sms:短信api接口服务

                service_trade:订单和支付相关api接口服务

                service_statistics:统计报表api接口服务

                service_ucenter:会员api接口服务

                service_vod:视频点播api接口服务

说明:整个工程分三级管理,第一级和第二级不涉及代码,只负责管理下级,真正的代码在第三级实现。

二 创建父工程guli_parent

1 创建Spring Boot项目

使用 Spring Initializr 快速初始化一个 Spring Boot 项目

Group:com.atguigu

Artifact:guli_parent

2 删除src目录

因为一级项目不涉及代码,所以可以删除该目录。

3 配置SpringBoot版本

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

4 配置pom依赖版本号

一级pom负责各组件的版本号管理。

<properties>
   <java.version>1.8</java.version>
   <mybatis-plus.version>3.3.1</mybatis-plus.version>
   <velocity.version>2.0</velocity.version>
   <swagger.version>2.7.0</swagger.version>
   <aliyun.oss.version>2.8.3</aliyun.oss.version>
   <jodatime.version>2.10.1</jodatime.version>
   <commons-fileupload.version>1.3.1</commons-fileupload.version>
   <commons-io.version>2.6</commons-io.version>
   <commons-lang.version>3.9</commons-lang.version>
   <httpclient.version>4.5.1</httpclient.version>
   <jwt.version>0.7.0</jwt.version>
   <aliyun-java-sdk-core.version>4.3.3</aliyun-java-sdk-core.version>
   <aliyun-sdk-oss.version>3.1.0</aliyun-sdk-oss.version>
   <aliyun-java-sdk-vod.version>2.15.2</aliyun-java-sdk-vod.version>
   <aliyun-java-vod-upload.version>1.4.11</aliyun-java-vod-upload.version>
   <aliyun-sdk-vod-upload.version>1.4.11</aliyun-sdk-vod-upload.version>
   <fastjson.version>1.2.28</fastjson.version>
   <gson.version>2.8.2</gson.version>
   <json.version>20170516</json.version>
   <commons-dbutils.version>1.7</commons-dbutils.version>
   <canal.client.version>1.1.0</canal.client.version>
   <docker.image.prefix>zx</docker.image.prefix>
   <cloud-alibaba.version>0.2.2.RELEASE</cloud-alibaba.version>
</properties>

5 配置pom依赖

一级pom只是管理依赖,并不引入依赖

<dependencyManagement>
		<dependencies>
			<!--Spring Cloud-->
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Hoxton.RELEASE</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-alibaba-dependencies</artifactId>
				<version>${cloud-alibaba.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<!-- mybatis-plus 持久层 -->
			<dependency>
				<groupId>com.baomidou</groupId>
				<artifactId>mybatis-plus-boot-starter</artifactId>
				<version>${mybatis-plus.version}</version>
			</dependency>
			<dependency>
				<groupId>com.baomidou</groupId>
				<artifactId>mybatis-plus-generator</artifactId>
				<version>${mybatis-plus.version}</version>
			</dependency>

			<!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 -->
			<dependency>
				<groupId>org.apache.velocity</groupId>
				<artifactId>velocity-engine-core</artifactId>
				<version>${velocity.version}</version>
			</dependency>

			<!-- swagger -->
			<dependency>
				<groupId>io.springfox</groupId>
				<artifactId>springfox-swagger2</artifactId>
				<version>${swagger.version}</version>
			</dependency>
			<!-- swagger ui -->
			<dependency>
				<groupId>io.springfox</groupId>
				<artifactId>springfox-swagger-ui</artifactId>
				<version>${swagger.version}</version>
			</dependency>

			<!-- aliyunOSS -->
			<dependency>
				<groupId>com.aliyun.oss</groupId>
				<artifactId>aliyun-sdk-oss</artifactId>
				<version>${aliyun.oss.version}</version>
			</dependency>

			<!-- 日期时间工具 -->
			<dependency>
				<groupId>joda-time</groupId>
				<artifactId>joda-time</artifactId>
				<version>${jodatime.version}</version>
			</dependency>

			<!--文件上传-->
			<dependency>
				<groupId>commons-fileupload</groupId>
				<artifactId>commons-fileupload</artifactId>
				<version>${commons-fileupload.version}</version>
			</dependency>

			<!--commons-io-->
			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>${commons-io.version}</version>
			</dependency>

			<!--commons-lang3-->
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>${commons-lang.version}</version>
			</dependency>

			<!--httpclient-->
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>${httpclient.version}</version>
			</dependency>

			<!-- JWT -->
			<dependency>
				<groupId>io.jsonwebtoken</groupId>
				<artifactId>jjwt</artifactId>
				<version>${jwt.version}</version>
			</dependency>

			<!--aliyun-->
			<dependency>
				<groupId>com.aliyun</groupId>
				<artifactId>aliyun-java-sdk-core</artifactId>
				<version>${aliyun-java-sdk-core.version}</version>
			</dependency>
			<dependency>
				<groupId>com.aliyun.oss</groupId>
				<artifactId>aliyun-sdk-oss</artifactId>
				<version>${aliyun-sdk-oss.version}</version>
			</dependency>
			<dependency>
				<groupId>com.aliyun</groupId>
				<artifactId>aliyun-java-sdk-vod</artifactId>
				<version>${aliyun-java-sdk-vod.version}</version>
			</dependency>
			<!--<dependency>-->
				<!--<groupId>com.aliyun</groupId>-->
				<!--<artifactId>aliyun-sdk-vod-upload</artifactId>-->
				<!--<version>${aliyun-sdk-vod-upload.version}</version>-->
			<!--</dependency>-->

			<!--json-->
			<dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>fastjson</artifactId>
				<version>${fastjson.version}</version>
			</dependency>
			<dependency>
				<groupId>org.json</groupId>
				<artifactId>json</artifactId>
				<version>${json.version}</version>
			</dependency>
			<dependency>
				<groupId>com.google.code.gson</groupId>
				<artifactId>gson</artifactId>
				<version>${gson.version}</version>
			</dependency>

			<dependency>
				<groupId>commons-dbutils</groupId>
				<artifactId>commons-dbutils</artifactId>
				<version>${commons-dbutils.version}</version>
			</dependency>

			<dependency>
				<groupId>com.alibaba.otter</groupId>
				<artifactId>canal.client</artifactId>
				<version>${canal.client.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值