从零搭建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配置。

而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实现日志输出
5AOP优雅的日志保存完成Spingboot利用AOP+注解实现优雅的日志记录
6Swagger可视化API测试页面完成SpringBoot+Swagger2及访问重定向

到这里,其实SpringBoot的脚手架就基本搭建完毕。但为什么不加入监控和DB操作呢?目的是因为这些东西不同的项目其实有不同的版本。所以延续版我将用另外一个仓库来实现。而这个仓库将会直接对接SpringCloud做一个全生态集群。

SpringCloud

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值