谷粒学院项目

谷粒学院项目介绍

尚硅谷项目:http://www.atguigu.com/

一、功能简介

谷粒学院,是一个B2C模式的职业技能在线教育系统,分为前台用户系统和后台运营平台。

在这里插入图片描述

二、技术架构

系统开发阶段使用了前后端分离架构,部署阶段使用了容器技术

在这里插入图片描述

后端环境搭建

01-创建父工程

一、工程结构

  • guli-parent:根目录(父工程),管理子模块:

    • common**:公共模块父节点**

      • common-util:工具类模块,所有模块都可以依赖于它
      • service-base:service服务的base包,包含service服务的公共配置类,所有service模块依赖于它
    • infrastructure**:基础服务模块父节点**

      • api-gateway:api网关服务
    • service**:api接口服务父节点**

      • service-edu:教学相关api接口服务
      • service-oss:阿里云oss 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版本
3.1、SpringBoot版本依赖
<version>2.2.1.RELEASE</version>
4、配置pom依赖版本号
<properties>
    <java.version>1.8</java.version>
    <cloud.version>Hoxton.RELEASE</cloud.version>
    <alibaba.version>2.2.0.RELEASE</alibaba.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>3.1.0</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-java-sdk-vod.version>2.15.2</aliyun-java-sdk-vod.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>
    <alibaba.easyexcel.version>2.1.1</alibaba.easyexcel.version>
    <apache.xmlbeans.version>3.1.0</apache.xmlbeans.version>
</properties>
5、配置pom依赖
<dependencyManagement>
    <dependencies>
        <!--Spring Cloud-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>${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</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</groupId>
            <artifactId>easyexcel</artifactId>
            <version>${alibaba.easyexcel.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.xmlbeans</groupId>
            <artifactId>xmlbeans</artifactId>
            <version>${apache.xmlbeans.version}</version>
        </dependency>

    </dependencies>
</dependencyManagement>
5.1、pom.xml

02-创建common

一、创建父模块common

1、创建模块

在guli-parent下创建普通maven模块

Group:com.atguigu

Artifact:common

2、删除src目录

二、创建模块common-util

在common下创建普通maven模块

Group:com.atguigu

Artifact:common-util

**注意项目路径:**D:\project\edu\java\guli-parent\common\common-util

三、创建模块service-base

1、创建模块

在common下创建普通maven模块

Group:com.atguigu

Artifact:service-base

**注意项目路径:**D:\project\edu\java\guli-parent\common\service-base

2、配置pom
<dependencies>
    <dependency>
        <groupId>com.atguigu</groupId>
        <artifactId>common-util</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>

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

    <!--mybatis-plus-->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
    </dependency>
    <!--mysql-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>

    <!--mybatis-plus-->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-generator</artifactId>
    </dependency>
    <!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 -->
    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-engine-core</artifactId>
    </dependency>

    <!--swagger-->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
    </dependency>

    <!--lombok用来简化实体类:需要安装lombok插件-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>

    <!--日期时间工具-->
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
    </dependency>

    <!--lang3-->
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
    </dependency>

    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
    </dependency>
    <!--commons-io-->
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
    </dependency>

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

    <!--httpclient-->
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
    </dependency>
</dependencies>

03-创建service

一、创建父模块service

1、创建模块

在guli-parent下创建普通maven模块

Group:com.atguigu

Artifact:service

2、删除src目录
3、配置pom
<dependencies>
    <dependency>
        <groupId>com.atguigu</groupId>
        <artifactId>service-base</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
    
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

二、创建模块service-edu

在service下创建普通maven模块

Group:com.atguigu

Artifact:service-edu

**注意项目路径:**D:\project\edu\java\guli-parent\service\service-edu

在这里插入图片描述

04-IDEA连接码云

一、创建代码仓库

1、注册登录

官方网址:https://gitee.com/

2、新建仓库

选择“新建仓库”

在这里插入图片描述

填写“仓库名称”等项目,点击“创建”

在这里插入图片描述

3、得到代码仓库的地址

在这里插入图片描述

二、安装Git

1、下载

官方网址:https://git-scm.com/downloads

2、安装

在这里插入图片描述

3、设置账户全局信息

安装成功后打开Git Bash,输入下列命令,设置git全局用户名和邮箱

git config --global user.name Strive_Chen
git config --global user.email *******@qq.com

最后使用 git config -list 命令查看配置的信息

在这里插入图片描述
在这里插入图片描述

三、idea连接gitee

1、配置Git

Configure => Settings => Version Control => Git

2、创建本地仓库

打开项目并点击菜单栏上的 VCS => Import into Version Control => Create Git Repository,创建本地仓库

在这里插入图片描述

在打开的【Create Git Repository】对话框内选择本地仓库的位置,这里我选择项目的根目录,然后点击“OK”

在这里插入图片描述

3、配置 .gitignore
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

**/mvnw
**/mvnw.cmd
**/.mvn

**/target/
4、加入本地代码仓库

右击项目,点击 Git => Add

在这里插入图片描述
接着右击项目,点击 Git => Commit Directory

在这里插入图片描述

在打开的窗口中选择要上传到本地仓库的代码并添加注释后提交到本地仓库内

在这里插入图片描述

5、连接远程仓库

右击项目,点击 Git => Repository => Remotes

在这里插入图片描述
在打开的【Git Remotes】窗口中添加码云的远程仓库地址

在这里插入图片描述

第一次连接需要输入gitee的用户名和密码

在这里插入图片描述

6、推送到远程仓库

右击项目,点击 Git => Repository => Push,在打开的【Push commits】内可以看到已提交到本地仓库的提交信息。点击 “Push” 按钮将本地仓库的代码上传到码云上。

在这里插入图片描述

推送成功:

在这里插入图片描述

如果出现错误:Push rejected: Push to origin/master was rejected。则说明第一次提交代码需要和远程仓库已有文件Merge。

在git项目对应的目录位置右键打开Git Bash Here(注意项目目录的位置)

[

然后在命令窗输入下面命令:

git pull origin master --allow-unrelated-histories

提示输入本次Merge代码的原因,退出命令行编辑状态。

在这里插入图片描述

再次Push代码,可以成功进行提交。

四、git中文乱码

1、git命令中文乱码

原因:在默认设置下,中文名不能正确显示,而是显示为八进制的字符编码。

解决办法:将git 配置文件 core.quotepath项设置为false。

git bash 终端输入命令:

git config --global core.quotepath false
2、git bash 终端中文乱码

在git bash的界面中右击空白处,弹出菜单,选择:

选项 => 文本 => 本地Locale,设置为zh_CN,而旁边的字符集选框选为UTF-8。

英文显示则是:

Options => Text => Locale,改为zh_CN,Character set改为UTF-8

五、重置凭证

如果想要删除windows系统记住的gitee的用户凭证,则使用如下的方式

在这里插入图片描述

六、IDEA中解除git关联

File => Settings => Version Control 选中项目,点击右边的红色减号,就解除了,

然后去项目目录下删除 .git 这个文件夹。

Push代码,可以成功进行提交。

在这里插入图片描述

  • 7
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值