创建父工程

  • 创建统一的父工程:leyou,用来管理依赖及其版本
    • 创建Maven工程,一开始能简洁就简洁
  • 填写项目信息(最基本的三个信息):
    • GroupId:是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。
    • 定义了项目属于哪个组,举个例子,如果你的公司是mycom,有一个项目为myapp,那么groupId就应该是com.mycom.myapp
    • Artifacted:定义了当前maven项目在组中唯一的ID,比如,myapp-util,myapp-domain,myapp-web等。 
    • Version:指定了myapp项目的当前版本,SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本。 
    • Name:声明了一个对于用户更为友好的项目名称,不是必须的,推荐为每个pom声明name,以方便信息交流。
  • 添加依赖(父工程引入后,子工程就不需要引入了)
    • spring-cloud-dependencies:微服务必备
    • org.mybatis.spring.boot:mybatis的启动器
    • mapper-spring-boot-starter:通用mapper启动器
    • pagehelper-spring-boot-starter:分页助手启动器
    • mysql-connector-java:mysql驱动
    • fastdfs-client:FDS

创建注册中心

  • 不用骨架(模板)新建module,注册中心,起名为:leyou-registry
  • 选择安装目录,因为是聚合项目,目录应该是在父工程leyou的下面:
    聚合主要为了快速构建项目,继承主要为了消除重复;
    分模块开发,来提高代码的清晰和重用
  • 添加依赖:spring-cloud-starter-netflix-eureka-server
  • 编写启动类:@EnableEurekaServer:**Eureka服务器相关配置

  • 配置文件:设置服务器端口
                      指定默认启动环境
                      设置eureka:客户端设置,服务器端设置
                      设置路由地址
    ### 删除application.yml文件中所有中文注释。否则会报错 ###

创建服务网关

  • 与上面类似,选择maven方式创建Module,然后填写项目名称
  • 然后需要添加Zuul和EurekaClient的依赖
      spring-cloud-starter-netflix-zuul
      spring-cloud-starter-netflix-eureka-client
  • 编写启动类:@SpringBootApplication
    @EnableDiscoveryClient
    @EnableZuulProxy

  • 配置文件

创建商品微服务

既然是一个全品类的电商购物平台,那么核心自然就是商品。因此我们要搭建的第一个服务,就是商品微服务。其中会包含对于商品相关的一系列内容的管理,包括:商品分类管理,品牌管理,商品规格参数管理,商品管理,库存管理

因为与商品的品类相关,我们的工程命名为leyou-item.

需要注意的是,我们的leyou-item是一个微服务,那么将来肯定会有其它系统需要来调用服务中提供的接口,获取的接口数据,也需要对应的实体类来封装,因此肯定也会使用到接口中关联的实体类。

因此这里我们需要使用聚合工程,将要提供的接口及相关实体类放到独立子工程中,以后别人引用的时候,只需要知道坐标即可。因为是聚合工程,所以把项目打包方式设置为pom。

我们会在leyou-item中创建两个子工程:

  • leyou-item-interface:主要是对外暴露的接口及相关实体类

  • leyou-item-service:所有业务逻辑及内部使用接口

    • 编写启动类
      @SpringBootApplication
      @EnableDiscoveryClient

    • 依赖

      • web启动器

      • eureka客户端

      • 分页助手启动器

      • jdbc启动器

      • springboot检测服务启动器

      • 教程还引入了mabatis和mysql相关的,但父工程已经引入了,先注释掉试试

    • 配置yml

Day89 项目实战1 环境搭建

测试

用IDEA Services调试所有服务,有先后顺序,先启动注册中心,再启动网关,最后测试Item-Service

打开Eureka管理页面,可以进入另外两个服务的测试页面(Eureka-client)

Day89 项目实战1 环境搭建

https://www.jianshu.com/p/2e2332f247fe

前端搭建

前后端完全分离,直接把前端部分leyou-manage-web解压到leyou同级目录即可,用包管理器npm导入依赖,启动得到前端界面

Day89 项目实战1 环境搭建

 

总结:课程上不到一个小时的搭建时间,花了一天多,主要还是依赖导入比较慢,有些错误出来不知道怎么解决,于是从头搭建了好几遍,家里和单位两台电脑去试,最后成功了,虽然很多地方一知半解,但好在能运行了,目前时间比较紧张,正确六月前写完一遍这个项目,先大体了解下,不纠结细节,实在运行不了的时候再去探寻一下原理。

相关文章:

  • 2021-12-13
  • 2022-12-23
  • 2021-07-29
  • 2022-12-23
  • 2021-12-30
  • 2021-12-06
  • 2021-07-08
  • 2022-01-02
猜你喜欢
  • 2021-09-11
  • 2021-04-13
  • 2021-12-12
  • 2021-12-08
  • 2021-12-09
  • 2021-12-20
  • 2022-12-23
相关资源
相似解决方案