Springboot总体认知

一、是什么?

    Springboot是基于Spring的全新框架,目的是简化spring应用的搭建和开发过程。

二、为什么会出现

    在Springboot出现以前,构建一个基础的Spring框架需要以下步骤:

  1. List item
  2. 创建一个Java web项目
  3. 手动下载或通过maven引入第三方jar包
  4. 配置web.xml(DispatcherServlet、encodingFilter字符集过滤器、log、编码、session、mapping等)
  5. 配置spring及MVC九大组件需要的部分
  6. 开发业务
  7. 开发非业务功能(如安全、健康检查)
  8. 下载并安装tomcat
  9. 发布和部署项目

    对于上面的流程,其实有很多可以改进的地方,让我们一起来看看:

    2. 手动下载或通过maven引入第三方jar包

        引入jar包需要知道版本,有一些jar需要依赖于某一特定版本的其他jar包。光是解决版本冲突,引入jar包就会耗费开发人员大量的时间和精力。

    3. spring配置

        spring配置里有一些基本是通用的配置,完全可以抽离出来,不需要重复配置。

    6. 开发非业务功能

        如果每个项目都需要一些非业务功能,如健康检查、内存监控等,要么做一套这样的功能到处复制,要么打成jar包各个项目引用。

    7. 部署项目

        项目需要打成war包,复制到tomcat上部署才能访问。

    总结:

        普通Spring框架的搭建有以下几大问题——依赖复杂、编码复杂、配置复杂、部署复杂、监控复杂。

三、解决了什么问题?

    简化依赖、简化容器(简化部署)、简化配置、简化通用组件。
    简化依赖:

        一个功能可能需要依赖一组多个jar包,而多个jar包的版本升级、版本冲突需要人为去维护,这会耗费过多的精力。Springboot按功能模块将pom.xml划分成一个个starter,使得该模块相关联的全部jar包只用一个单独的maven依赖就可以引用,大大减少配置的时间、降低维护的难度。

    简化容器:

        通过maven中一个spring-boot-starter-web配置就可以引入一个内置的tomcat。

    简化XML配置:

        Spring中大量的xml配置文件被诟病已久,不仅繁琐而且混乱。Springboot得益于注解和自动配置,大部分bean管理都不需要xml文件配置。少量需要特殊要求可以通过@Configuration和@ConfigurationProperties注解,以编码的方式管理,最大限度的减少甚至消除对xml的依赖。

    简化自动配置:

        非springboot的web项目搭建时,需要下载对应的jar包,并配置相应的spring Listener及spring MVC9大组件中相应的bean。而自动化配置只需把相关的jar包加载到项目中,springboot会自动装配相应的bean。

    简化通用组件:

        任何项目对系统(CPU、内存)、项目状态及指标、请求跟踪等信息的监控功能都是通用并且必要的,因此springboot提供了一整套现成的解决方案,只需要引入相关的jar包,通过相应的配置,就可以打开所需要的监控功能。

参考

spring boot 背景

你可能感兴趣的:(springboot)