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


Posted in Java/Android onJune 13, 2021

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

开发工具选用Idea。

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

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

1、创建多Module工程

1.1、创建父工程

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

新建Project

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

选择Maven工程,next

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

填写GroupId和ArtifactID

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

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

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

删除src,添加maven配置

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

<!--设置为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

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

选择Maven工程

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

填写子module工程名

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

创建完成,完成效果

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

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

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

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

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

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

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

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

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

2、使用Gti进行版本控制

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

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

关于Giit的基础使用,可以查看我的这篇博客:Git全栈开发者使用指南

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

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

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

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

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

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

# 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的配置,可以查看我的这篇博客:Windows配置Github、Gitee共存的Git环境

打开gitee,新建仓库

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

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

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

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

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

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

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

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

$ git push origin master

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

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

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

 

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

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

参考:

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

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

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

Java/Android 相关文章推荐
springboot @ConfigurationProperties和@PropertySource的区别
Jun 11 Java/Android
浅谈Java实现分布式事务的三种方案
Jun 11 Java/Android
MyBatis-Plus 批量插入数据的操作方法
Sep 25 Java/Android
mapstruct的用法之qualifiedByName示例详解
Apr 06 Java/Android
Java 超详细讲解十大排序算法面试无忧
Apr 08 Java/Android
Spring Boot接口定义和全局异常统一处理
Apr 20 Java/Android
详解Android中的TimePickerView(时间选择器)的用法
Apr 30 Java/Android
java版 联机五子棋游戏
May 04 Java/Android
Spring 使用注解开发
May 20 Java/Android
Spring Boot项目如何优雅实现Excel导入与导出功能
Jun 10 Java/Android
Android开发EditText禁止输入监听及InputFilter字符过滤
Jun 10 Java/Android
maven 解包依赖项中的文件的解决方法
Jul 15 Java/Android
Spring Bean的实例化之属性注入源码剖析过程
Java输出Hello World完美过程解析
Java方法重载和方法重写的区别到底在哪?
Jun 11 #Java/Android
Java 将PPT幻灯片转为HTML文件的实现思路
springboot中一些比较常用的注解总结
Jun 11 #Java/Android
分享一些Java的常用工具
浅谈Java实现分布式事务的三种方案
You might like
用PHP产生动态的影像图
2006/10/09 PHP
一个简单实现多条件查询的例子
2006/10/09 PHP
apache+php+mysql安装配置方法小结
2010/08/01 PHP
PHP sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
2015/06/19 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
2015/12/24 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
2017/08/02 PHP
jQuery EasyUI API 中文文档 - ValidateBox验证框
2011/10/06 Javascript
javascript与jquery中跳出循环的区别总结
2013/11/04 Javascript
Javascript 按位与赋值运算符 (&amp;=)使用介绍
2014/02/04 Javascript
NodeJS学习笔记之Connect中间件模块(二)
2015/01/27 NodeJs
JavaScript隐式类型转换
2016/03/15 Javascript
jQuery插件实现图片轮播特效
2016/06/16 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
Angular8路由守卫原理和使用方法
2019/08/29 Javascript
Vue2.x-使用防抖以及节流的示例
2021/03/02 Vue.js
python使用线程封装的一个简单定时器类实例
2015/05/16 Python
八大排序算法的Python实现
2021/01/28 Python
关于Python元祖,列表,字典,集合的比较
2017/01/06 Python
python编辑用户登入界面的实现代码
2018/07/16 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
Flask框架学习笔记之消息提示与异常处理操作详解
2019/08/15 Python
python+jinja2实现接口数据批量生成工具
2019/08/28 Python
Python 元组拆包示例(Tuple Unpacking)
2019/12/24 Python
python如何基于redis实现ip代理池
2020/01/17 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
Jupyter安装链接aconda实现过程图解
2020/11/02 Python
css3实现波纹特效、H5实现动态波浪效果
2018/01/31 HTML / CSS
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
2016/02/27 HTML / CSS
html5中canvas图表实现柱状图的示例
2017/11/13 HTML / CSS
市场营销专业个人自荐信格式
2013/09/21 职场文书
大学毕业生通用求职信
2013/09/28 职场文书
学生思想表现的评语
2014/01/30 职场文书
入党积极分子自我批评思想汇报
2014/10/10 职场文书
打架检讨书范文
2015/01/27 职场文书
SQL注入详解及防范方法
2021/12/06 MySQL