SpringCloud Alibaba 基本开发框架搭建过程

 更新时间:2021年06月13日 12:41:28   作者:三分恶  
这篇文章主要介绍了SpringCloud Alibaba 基本开发框架搭建过程,开发工具选用的idea,本文通过图文实例相结合给大家分享搭建全过程,需要的朋友可以参考下

在上一节,我们已经完成了项目的整体技术架构设计和具体的数据库设计,接下来,我们搭建整体的开发框架。

开发工具选用Idea。

Idea

开发工具只是为了提高效率,如果不习惯Idea的话,STS使用起来也是OK的。

1、创建多Module工程

1.1、创建父工程

创建一个父项目,项目命名为eshop-project,用于管理子模块功能。

新建Project

image-20210513230257597

选择Maven工程,next

image-20210513230402707

填写GroupId和ArtifactID

image-20210513230634967

填写项目名,选择项目位置

image-20210513230846984

删除src,添加maven配置

image-20210513231446548

<!--设置为pom,管理依赖-->
    <packaging>pom</packaging>

    <!--使用properties统一管理属性-->
    <properties>
        <java.version>1.8</java.version>
    </properties>

需要注意,我们这里最好统一设置一下Jdk编译版本,默认的编译版本1.5可能会影响我们使用一些新特性:

  <!--配置编译JDK版本-->
    <build>
        <plugins>
            <!--JDK版本 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <showWarnings>true</showWarnings>
                </configuration>
            </plugin>
        </plugins>
    </build>

1.2、创建子module 选中父项目,右键,新建module

image-20210513231840628

选择Maven工程

image-20210513232013174

填写子module工程名

image-20210513232050944

创建完成,完成效果

image-20210513232240630

OK,到此我们的子module就创建完成了。接下来如法炮制,创建另外几个子module,结果如下:

image-20210513232829493

这里我们按照之前的业务模块拆分来创建每个子工程,子工程对应的功能:

  • eshop-common:通用的工具类,实体包等等。
  • eshop-finance:支付子服务,对应shop-finance库。
  • eshop-goods:商品子服务,对应shop-goods库。
  • eshop-order:订单子服务,对应shop-order库。
  • eshop-stock:库存子服务,对应shop-stock库。
  • eshop-user:用户自服务,对应shop-user库。

注意业务和功能粒度的划分,我们这里划分到了每个业务子模块,但是对应的mvc分层没有划分。在实际的生产中,可能会根据实际情况,把视图层、服务层、持久层再度拆分。这样更细的粒度,更方便小团队的开发。

我们这里只是为了开发的方便,在实际的项目中,我们对应的每个服务一般都会单独创建项目,由不同的小组来进行维护,开发、测试过程只需要把服务注册在统一的注册中心就可以了。

image-20210513234337498

这样一个粗略的开发框架就搭建起来了,下一节我们会接着完善它,包括引入SpringBoot、MybatisPlus等等。

2、使用Gti进行版本控制

Git是现在最流行的版本控制系统。在企业级的微服务项目中,一般使用Gti进行版本控制,使用GitLab搭建远程仓库。

在这里,我们选择使用Gitee作为我们的远程仓库。

关于Giit的基础使用,可以查看我的这篇博客:IDEA+GIT使用入门图文详解

2.1、初始化本地仓库 打开项目路径,右键git bash

image-20210513235053495

执行初始化本地仓库命令 git init

image-20210513235151184

在项目目录下创建文件文件.gitignore,写入需要忽视提交的文件类型

image-20210513235357111

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

**/.idea/**
**/target/**


**/*.iml

*.iml

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

首次提交,命令如下:

$ git status
$ git add .
$ git commit -m "🏠eshop微服务项目初始化"

通常我们还会创建一个开发分支,由于只是个简单demo,我们这里就不建了。

2.2、初始化远程仓库

gitee是国内版的github,最近github访问很不稳定,所以选择将远程仓库放在gitee。关于Github和Gitee的配置,可以查看我的这篇博客:Gitee的下载安装配置及使用步骤详解

Windows配置Github、Gitee共存的Git环境

打开gitee,新建仓库

image-20210514000131978

填写仓库名城,仓库介绍,开源等等

image-20210514001048659

可以看到,我们的远程仓库已经创建完成,可以看到仓库还是空空如也

image-20210514001127428

本地仓库关联远程仓库,拷贝仓库地址,在本地仓库,使用命令关联远程仓库:

$ git remote add origin git@gitee.com:fighter3/eshop-project.git

使用命令推送本地提交到远程仓库

$ git push origin master

image-20210514001327370

OK,在远程仓库,已经可以看到我们的提交了。

image-20210514001413107


“简单的事情重复做,重复的事情认真做,认真的事情有创造性地做!”——

我是三分恶,可以叫我老三/三分/三哥/三子,一个能文能武的全栈开发,咱们下期见!

参考:

【1】小专栏 《SpringCloudAlibaba微服务实战》

【2】:Spring Cloud Alibaba系列之-项目搭建(一)

以上就是SpringCloud Alibaba 基本开发框架搭建过程的详细内容,更多关于SpringCloud Alibaba 开发框架的资料请关注脚本之家其它相关文章!

相关文章

  • Java中Comparator升序降序的具体使用

    Java中Comparator升序降序的具体使用

    本文主要介绍了Java中Comparator升序降序的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 如何基于http代理解决Java固定ip问题

    如何基于http代理解决Java固定ip问题

    这篇文章主要介绍了如何基于http代理解决Java固定ip问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Java中字符串拼接的一些细节分析

    Java中字符串拼接的一些细节分析

    这篇文章主要介绍了Java中字符串拼接的一些细节分析,本文着重剖析了字符串拼接的一些性能问题、技巧等内容,需要的朋友可以参考下
    2015-01-01
  • Springboot实现ENC加密的详细流程

    Springboot实现ENC加密的详细流程

    在项目开发过程中,需要配置数据库连接密码、Redis密码、网盘上传的AK/SK等敏感信息,都需要保存在配置文件里,或者配置中心,这些信息如果泄露,还是会造成一定的困扰,下面这篇文章主要给大家介绍了关于Springboot实现ENC加密的详细流程,需要的朋友可以参考下
    2023-06-06
  • java正则匹配读取txt文件提取特定开头和结尾的字符串

    java正则匹配读取txt文件提取特定开头和结尾的字符串

    通常我们可以直接通过文件流来读取txt文件的内容,但有时候也会遇到问题,下面这篇文章主要给大家介绍了关于java正则匹配读取txt文件提取特定开头和结尾的字符串的相关资料,需要的朋友可以参考下
    2022-11-11
  • SpringBoot中Bean拷贝及工具类封装的实现

    SpringBoot中Bean拷贝及工具类封装的实现

    本文主要介绍了SpringBoot中Bean拷贝及工具类封装的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Java 延迟队列的常用的实现方式

    Java 延迟队列的常用的实现方式

    这篇文章主要介绍了Java 延迟队列的常用的实现方式,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-04-04
  • SpringBoot参数校验之@Validated的使用详解

    SpringBoot参数校验之@Validated的使用详解

    这篇文章主要通过示例为大家详细介绍一下介绍了SpringBoot参数校验中@Validated的使用方法,文中的示例代码讲解详细,需要的可以参考一下
    2022-06-06
  • java中struts2实现简单的文件上传与下载

    java中struts2实现简单的文件上传与下载

    这篇文章主要为大家详细介绍了java中struts2实现简单的文件上传与下载的相关资料,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • 关于JAVA11中图片与BASE64相互转换的实现

    关于JAVA11中图片与BASE64相互转换的实现

    这篇文章主要介绍了关于JAVA11中图片与BASE64相互转换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04

最新评论