SpringCloud Alibaba实战(4:基本开发框架搭建)

简介: SpringCloud Alibaba实战(4:基本开发框架搭建)

   

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

开发工具选用Idea。

image.png

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

1、创建多Module工程

1.1、创建父工程

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

  • 新建Project

image.png

  • 选择Maven工程,next

image.png

  • 填写GroupId和ArtifactID

image.png

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

image.png

  • 删除src,添加maven配置

image.png

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

  • 选择Maven工程

  • 填写子module工程名

image.png

  • 创建完成,完成效果

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

image.png

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

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

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

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

image.png

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

2、使用Gti进行版本控制

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

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

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

2.1、初始化本地仓库

  • 打开项目路径,右键git bash

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

image.png

  • 在项目目录下创建文件文件.gitignore,写入需要忽视提交的文件类型
    image.png
# 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,新建仓库

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

image.png

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

image.png

  • 本地仓库关联远程仓库,拷贝仓库地址,在本地仓库,使用命令关联远程仓库:
$ git remote add origin git@gitee.com:fighter3/eshop-project.git
  • 使用命令推送本地提交到远程仓库
$ git push origin master

image.png

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

image.png

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

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


目录
相关文章
|
5天前
|
缓存 Java 开发工具
Spring是如何解决循环依赖的?从底层源码入手,详细解读Spring框架的三级缓存
三级缓存是Spring框架里,一个经典的技术点,它很好地解决了循环依赖的问题,也是很多面试中会被问到的问题,本文从源码入手,详细剖析Spring三级缓存的来龙去脉。
Spring是如何解决循环依赖的?从底层源码入手,详细解读Spring框架的三级缓存
|
5天前
|
缓存 安全 Java
Spring框架中Bean是如何加载的?从底层源码入手,详细解读Bean的创建流程
从底层源码入手,通过代码示例,追踪AnnotationConfigApplicationContext加载配置类、启动Spring容器的整个流程,并对IOC、BeanDefinition、PostProcesser等相关概念进行解释
Spring框架中Bean是如何加载的?从底层源码入手,详细解读Bean的创建流程
|
9天前
|
运维 NoSQL Java
SpringBoot接入轻量级分布式日志框架GrayLog技术分享
在当今的软件开发环境中,日志管理扮演着至关重要的角色,尤其是在微服务架构下,分布式日志的统一收集、分析和展示成为了开发者和运维人员必须面对的问题。GrayLog作为一个轻量级的分布式日志框架,以其简洁、高效和易部署的特性,逐渐受到广大开发者的青睐。本文将详细介绍如何在SpringBoot项目中接入GrayLog,以实现日志的集中管理和分析。
46 1
|
14天前
|
缓存 Java 应用服务中间件
随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架
【9月更文挑战第6天】随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架。Nginx作为高性能的HTTP反向代理服务器,常用于前端负载均衡,提升应用的可用性和响应速度。本文详细介绍如何通过合理配置实现Spring Boot与Nginx的高效协同工作,包括负载均衡策略、静态资源缓存、数据压缩传输及Spring Boot内部优化(如线程池配置、缓存策略等)。通过这些方法,开发者可以显著提升系统的整体性能,打造高性能、高可用的Web应用。
43 2
|
17天前
|
安全 Java 开发者
强大!Spring Cloud Gateway新特性及高级开发技巧
在微服务架构日益盛行的今天,网关作为微服务架构中的关键组件,承担着路由、安全、监控、限流等多重职责。Spring Cloud Gateway作为新一代的微服务网关,凭借其基于Spring Framework 5、Project Reactor和Spring Boot 2.0的强大技术栈,正逐步成为业界的主流选择。本文将深入探讨Spring Cloud Gateway的新特性及高级开发技巧,助力开发者更好地掌握这一强大的网关工具。
72 6
|
14天前
|
Cloud Native 安全 Java
Micronaut对决Spring Boot:谁是微服务领域的王者?揭秘两者优劣,选对框架至关重要!
【9月更文挑战第5天】近年来,微服务架构备受关注,Micronaut和Spring Boot成为热门选择。Micronaut由OCI开发,基于注解的依赖注入,内置多种特性,轻量级且启动迅速;Spring Boot则简化了Spring应用开发,拥有丰富的生态支持。选择框架需考虑项目需求、团队经验、性能要求及社区支持等因素。希望本文能帮助您选择合适的微服务框架,助力您的软件开发项目取得成功!
58 2
|
15天前
|
JavaScript 前端开发 Java
【颠覆传统】Spring框架如何用WebSocket技术重塑实时通信格局?揭秘背后的故事与技术细节!
【9月更文挑战第4天】随着Web应用对实时交互需求的增长,传统的HTTP模型已无法满足现代应用的要求,特别是在需要持续、双向通信的场景下。WebSocket协议由此诞生,提供全双工通信渠道,使服务器与客户端能实时互发消息。作为Java开发中最受欢迎的框架之一,Spring通过其WebSocket模块支持这一协议,简化了WebSocket在Spring应用中的集成。
33 0
|
19天前
|
Java Spring 容器
彻底改变你的编程人生!揭秘 Spring 框架依赖注入的神奇魔力,让你的代码瞬间焕然一新!
【8月更文挑战第31天】本文介绍 Spring 框架中的依赖注入(DI),一种降低代码耦合度的设计模式。通过 Spring 的 DI 容器,开发者可专注业务逻辑而非依赖管理。文中详细解释了 DI 的基本概念及其实现方式,如构造器注入、字段注入与 setter 方法注入,并提供示例说明如何在实际项目中应用这些技术。通过 Spring 的 @Configuration 和 @Bean 注解,可轻松定义与管理应用中的组件及其依赖关系,实现更简洁、易维护的代码结构。
24 0
|
19天前
|
消息中间件 Kafka Java
Spring 框架与 Kafka 联姻,竟引发软件世界的革命风暴!事件驱动架构震撼登场!
【8月更文挑战第31天】《Spring 框架与 Kafka 集成:实现事件驱动架构》介绍如何利用 Spring 框架的强大功能与 Kafka 分布式流平台结合,构建灵活且可扩展的事件驱动系统。通过添加 Spring Kafka 依赖并配置 Kafka 连接信息,可以轻松实现消息的生产和消费。文中详细展示了如何设置 `KafkaTemplate`、`ProducerFactory` 和 `ConsumerFactory`,并通过示例代码说明了生产者发送消息及消费者接收消息的具体实现。这一组合为构建高效可靠的分布式应用程序提供了有力支持。
54 0
|
19天前
|
Java Spring 人工智能
AI 时代浪潮下,Spring 框架异步编程点亮高效开发之路,你还在等什么?
【8月更文挑战第31天】在快节奏的软件开发中,Spring框架通过@Async注解和异步执行器提供了强大的异步编程工具,提升应用性能与用户体验。异步编程如同魔法,使任务在后台执行而不阻塞主线程,保持界面流畅。只需添加@Async注解即可实现方法的异步执行,或通过配置异步执行器来管理线程池,提高系统吞吐量和资源利用率。尽管存在线程安全等问题,但异步编程能显著增强应用的响应性和效率。
29 0