Spring|从零搭建SpringBoot脚手架与SpringCloud生态


目录

  • 目的
  • SpringBoot
    • Srping到SpringBoot
    • 什么是SpringBoot
    • SpringBoot 脚手架
  • SpringCloud

目的 这个课题的主要研究对象是SpringBoot和SpringCloud。其实我本身的工作也是基于SpringBoot的微服务开发。但由于公司体量过大,在实际的开发过程中并不需要我们了解整套体系。所以展开这个课题的研究一方面是为了深入学习SpringBoot和SpringCloud的核心知识与架构。其次是为了以后工作中需要创建新项目时,可以更快速的完成这项任务。
SpringBoot Srping到SpringBoot SpringBoot是现在最流行的Java开发框架。至于为什么这么香?不知道大家以前有没有基于Spring的开发经验。那时候的项目称为SSH(Strut2/Spring/Hibernate)或者SSM(SpringMVC/Spring/MyBatis)。
在我看来,这是第二代Java web项目的开发架构。至于什么是第一代?那当然是传统的配置servlet写doGet、doPost的这种啦。记得我刚毕业出来的时候,就是这种玩法,不知道再之前的有没有大佬分享一下。但不管是使用SSH还是SSM也好,他们都离不开中间层Spring。Spring在里面可以说是发挥着重要的地位。他主要担当了承上启下的功能。只要项目引入了Spring,开发者只需要更多的关注业务上的开发,而其他的管理完全可以交给Spring来做。这里稍微提一下Spring的核心IOC和AOP,至于具体是什么估计大家都非常熟悉,实在不会自己百度吧。他们可为项目研发作出巨大贡献。
但同时Spring也有缺点,就是上手难度较大。因为使用Spring的前提是要配置各种xml文件。复杂且繁所的配置会使得新接触项目的开发者感到头疼。而且在配置的过程中也很容易出现各种不明觉厉的错误,最终导致没有达到预期想过。
这试得开发者对Spring是又爱又恨。所以Spring最后就推出了新一代Java开发框架——SpringBoot来取代Spring。它既继承了Spring的核心思想与实用性,也达到了小而美的地步。开发者只需要通过简单的配置(甚至默认不配置),都可以跑起来一个web应用。
什么是SpringBoot Spring Boot是一款全新的web框架,其设计目的是用来简化Spring应用初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot其实就是一个整合很多可插拔的组件(框架),内嵌了使用工具(比如内嵌了Tomcat、Jetty等),方便开发人员快速搭建和开发的一个框架。
什么?我讲得不知所云?那我们看看官方的说法吧。
Spring Boot使创建独立的、基于生产级Spring的应用程序变得很容易,您可以“直接运行”这些应用程序。
我们对Spring平台和第三方库有自己的见解,这样您就可以轻松入门了。大多数Spring引导应用程序只需要很少的Spring配置。
【Spring|从零搭建SpringBoot脚手架与SpringCloud生态】而SpringBoot其实存在如下特性:
  • 项目基础简单,IDE可3分钟快速创建
  • 简单的配置,实现零XML
  • 内置JUnit等各种测试框架,方便实现各式方法测试
  • 内置Tomcat容器,只需运行XXXApplication.java即可运行服务
  • 对其他互联网产品兼容性高,只需简单的配置及依赖引入即刻直接使用
  • 提供系统监控,可查看应用详情(Spring Boot Actuator)
SpringBoot的核心包一般包含如下几个版本:
  • SNAPSHOT:快照版,表示开发版本,随时可能修改;
  • M1(Mn):M是milestone的缩写,也就是里程碑版本;
  • RC1(RCn):RC是release candidates的缩写,也就是发布预览版;
  • Release:正式版,也可能没有任何后缀也表示正式版;
SpringBoot 脚手架 讲了那么多,现在我们将开始搭建SpringBoot应用的脚手架。首先说一下我的开发环境。版本非必须,可按照自己的需求上下调整。
  • JDK 1.8
  • Maven 3.5
  • IntelliJ IDEA 2020.1
项目的地址我会放在:https://gitee.com/turkeymz/baseboot。有需要的小伙伴可以自行克隆。
序号 项目 完成度 文章
1 项目创建 完成 SpringBoot启动过程与项目创建
2 搭建第一个API 完成 SpringBoot开发API与源码解读
3 全局异常处理及API规范化 完成 SpringBoot全局异常处理及API规范化
4 日志输出及保存 完成 SpringBoot+Logback实现日志输出
5 AOP优雅的日志保存 完成 Spingboot利用AOP+注解实现优雅的日志记录
6 Swagger可视化API测试页面 完成 SpringBoot+Swagger2及访问重定向
到这里,其实SpringBoot的脚手架就基本搭建完毕。但为什么不加入监控和DB操作呢?目的是因为这些东西不同的项目其实有不同的版本。所以延续版我将用另外一个仓库来实现。而这个仓库将会直接对接SpringCloud做一个全生态集群。
SpringCloud

    推荐阅读