# 149. 商品详情页动态渲染系统:Spring Boot 与微服务的关系以及开发回顾

第一版里面的内容 spring boot 也用了,但是几乎没有什么介绍, 本次课程会简单讲解下

# spring boot 的特点

  • 快速开发 spring 应用的框架

    比如使用 sring mvc + spring + mybatis 开发一个系统

    • 首先配置一大堆 xml 配置文件
    • 其次部署和安装 tomcat、jetty 等容器
    • 跟 java web 打交道(servlet、listener、filter)
    • 手工部署到 tomcat 或者 jetty 等容器中,发布一个 web 应用

    简单来说,spring boot 就是看中了这种 java web 应用繁琐而且重复的开发流程,采用了 spring 之上封装的一套框架(spring boot)

    尽可能提升我们的开发效率,让我们专注于自己的业务逻辑即可

  • 内嵌 tomcat 和 jetty 容器

    不需要单独安装容器,jar 包直接发布一个 web 应用

  • 简化 maven 配置

    通过 parent 这种方式,一站式引入需要的各种依赖

  • 基于注解的零配置思想

  • 和各种流行框架

    spring web mvc、mybatis、spring cloud 无缝整合

# spring boot 和微服务

  • spring boot 不是微服务技术
  • spring boot 只是一个用于加速开发 spring 应用的基础框架,简化工作,开发单块应用很适合
  • 如果要直接基于 spring boot 做微服务,相当于需要自己开发很多微服务的基础设施,比如基于 zookeeper 来实现服务注册和发现
  • spring cloud 才是微服务技术

# spring boot 入门开发

本小结内容没有什么新的,可以说是车祸现场了,最后的结论就是参考此;

对于 spring boot 基础环境请参考 (第一版:库存服务的开发框架整合与搭建:spring boot + mybatis + jedis)[../039.md]

本次使用 spring cloud 相关说明

项目搭建,视频中使用 mavn,本笔记使用 gradle-4.8.1 + spring boot 2.1.6

gradle 版本的不同对于生成的 build.gradle 语法可能不太同

同样,对于 spring boot 来说,2.0.4 版本与 2.1.6 版本生成的 build.gradle 写法相差也有点大