SpringBoot系统学习 - 简介篇

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37499059/article/details/82182479

1.SpringBoot的诞生

随着使用 Spring 进行开发的个人和企业越来越多,Spring 也慢慢从一个单一简洁的小框架变成一个大而全的开源软件,Spring 的边界不断的进行扩充,到了后来 Spring 几乎可以做任何事情了,市面上主流的开源软件、中间件都有 Spring 对应组件支持,人们在享用 Spring 的这种便利之后,也遇到了一些问题。
Spring 每集成一个开源软件,就需要增加一些基础配置,慢慢的随着人们开发的项目越来越庞大,往往需要集成很多开源软件,因此后期使用 Spirng 开发大型项目需要引入很多配置文件,太多的配置非常难以理解,并容易配置出错,到了后来人们甚至称 Spring 为配置地狱。
Spring 似乎也意识到了这些问题,急需有这么一套软件可以解决这些问题,这个时候微服务的概念也慢慢兴起,快速开发微小独立的应用变得更为急迫,Spring 刚好处在这么一个交叉点上,于 2013 年初开始的 Spring Boot 项目的研发,2014年4月,Spring Boot 1.0.0 发布。
Spring Boot 诞生之初,就受到开源社区的持续关注,陆续有一些个人和企业尝试着使用了 Spring Boot,并迅速喜欢上了这款开源软件。直到2016年,在国内 Spring Boot 才被正真使用了起来,期间很多研究 Spring Boot 的开发者在网上写了大量关于 Spring Boot 的文章,同时有一些公司在企业内部进行了小规模的使用,并将使用经验分享了出来。
当然 Spring Boot 不是为了取代 Spring ,Spring Boot 基于 Spring 开发,是为了让人们更容易的使用 Spring。看到 Spring Boot 的市场反应,Spring 官方也非常重视 Spring Boot 的后续发展,已经将 Spring Boot 作为公司最顶级的项目来推广,放到了官网上第一的位置,因此后续 Spring Boot 的持续发展也被看好。


2.SpringBoot特点

SpringBoot不是一个新的框架,而是在Spring框架的基础上做了大量的优化。SpringBoot简化了前期配置和开发流程,那么它的简化特点是什么呢?

自动配置Spring
简化Maven配置,整合常用依赖
自动嵌入中间件插件
提供应用状态


1) 自动配置Spring

不行要配置Spring的数据源,连接池,事务通知等类加载初始化等信息,SpringBoot会自动将这些信息配置完毕。
SpringBoot将原有的XML配置改为Java配置,将Bean注入改为使用注解的方式@Autowire,将多个xml,properties配置浓缩在一个application.yml配置文件中。

2) 简化Maven配置,整合常用依赖

SpringBoot的依赖整合了常用的开发库,例如:spring-webmvc,jackson-json,validation-api,tomcat等。
这里写图片描述

3) 自动嵌入中间件插件

SpringBoot的核心依赖中包含Server服务的基本Jar,当我们需要什么中间件时,替换相关的SpringBoot中间件依赖即可,它会帮我们识别中间件。

4) 提供应用状态(指标,健康检查和外部配置)

SpringBoot提供应用运行状态,工开发人员观察项目运行情况。


3.SpringBoot的优势(5简单)

Spring Boot 让开发变得更简单
Spring Boot 使测试变得更简单
Spring Boot 让配置变得更简单
Spring Boot 让部署变得更简单
Spring Boot 让监控变得更简单


4.Spring 、Spring Boot 和 Spring Cloud 的关系

Spring ioc/aop > Spring > Spring Boot > Spring Cloud

Spring 最初最核心的两大核心功能 Spring Ioc 和 Spring Aop 成就了 Spring,Spring 在这两大核心的功能上不断的发展,才有了 Spring 事务、Spirng Mvc 等一系列伟大的产品,最终成就了 Spring 帝国,到了后期 Spring 几乎可以解决企业开发中的所有问题。

Spring Boot 是在强大的 Spring 帝国生态基础上面发展而来,发明 Spring Boot 不是为了取代 Spring ,是为了让人们更容易的使用 Spring 。所以说没有 Spring 强大的功能和生态,就不会有后期的 Spring Boot 火热, Spring Boot 使用约定优于配置的理念,重新重构了 Spring 的使用,让 Spring 后续的发展更有生命力。

Spring Cloud 是一系列框架的有序集合。它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 Spring Boot 的开发风格做到一键启动和部署

Spring 并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过 Spring Boot 风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

根据上面的说明我们可以看出来,Spring Cloud 是为了解决微服务架构中服务治理而提供的一系列功能的开发框架,并且 Spring Cloud 是完全基于 Spring Boot 而开发,Spring Cloud 利用 Spring Boot 特性整合了开源行业中优秀的组件,整体对外提供了一套在微服务架构中服务治理的解决方案。

综上我们可以这样来理解,正是由于 Spring Ioc 和 Spring Aop 两个强大的功能才有了 Spring ,Spring 生态不断的发展才有了 Spring Boot ,使用 Spring Boot 让 Spring 更易用更有生命力,Spring Cloud 是基于 Spring Boot 开发的一套微服务架构下的服务治理方案。


5.扩展-Spring发展历史

2002: JavaEE 和EJB大行其道时,有个美国小伙任务EJB太臃肿,10月份他写了一本书《Expert One-on-One J2EE》,指出JaveEE和EJB组件存在的一些问题,并提供了基于普通java类和依赖注入更简单解决方案。然后写了interface21开源框架,也就是spring前身。


2003: Rod Johnson 和同伴在此框架的基础上开发了一个全新的框架命名为 Spring ,据 Rod Johnson 介绍 Spring 是传统 J2EE 新的开始。随后 Spring 发展进入快车道。


2004年03月,1.0版发布


2006年10月,2.0版本发布


2007年11月更名为SpringSource,同事发布Spring2.5


2009年12月,Spring3.0发布


2013年12月,Pivotal宣布发布Spring框架4.0


2017年09月,Spring5.0发布


猜你喜欢

转载自blog.csdn.net/m0_37499059/article/details/82182479