SpringBoot是什么及背景了解

SpringBoot理解

SpringBoot产生背景?

    J2EE笨重的开发、繁重的配置、低下的开发效率、负责的部署流程、第三方技术集成难度大等等,一直以来,Spring IO平台饱受非议的最大一点就是大量的XML配置以及复杂的依赖管理。以致于2012 年 10 月,Mike Youngstrom 在 Spring jira 中创建了一个功能请求,要求在 Spring 框架中支持无容器 Web 应用程序体系结构。他谈到了在主容器引导 spring 容器内配置 Web 容器服务。这是 jira 请求的摘录:


        地址:https://jira.spring.io/browse/SPR-9888

        原文:"I think that Spring’s web application architecture can be significantly simplified if it were toprovided tools and a reference architecture that leveraged the Spring component and configurationmodel from top to bottom. Embedding and unifying the configuration of those common webcontainer services within a Spring Container bootstrapped from a simple main() method."

        译文:我认为 Spring 的 Web 应用体系结构可以大大简化,如果它提供了从上到下利用 Spring 组件和配置模型的工具和参考体系结构。在简单的 main()方法引导的 Spring 容器内嵌入和统一这些常用Web 容器服务的配置。

原文截图

    在2013年的SpringOne 2GX会议上,Pivotal的CTO Adrian Colyer回应了这些批评,并且特别提到该平台将来的目标之一就是实现免XML配置的开发体验。相对于来说Mike Youngstrom 在 Spring jira 中的这一要求促使了 2013年初开始的 Spring Boot 项目的研发。2014 年 4 月,Spring Boot 1.0.0 发布。Boot所实现的功能超出了这个任务的描述,开发人员不仅不再需要编写XML,而且在一些场景中甚至不需要编写繁琐的import语句。在对外公开的beta版本刚刚发布之时,Boot描述了如何使用该框架在140个字符内实现可运行的web应用,从而获得了极大的关注度,该样例发表在twitter上。

SpringBoot历史?

        2013年初开始的Spring Boot项目的开发。2014年4月,Spring Boot 1.0.0发布。从那以后,一些Spring Boot小版本开始出现。

Spring Boot 1.1(2014年6月):改进的模板支持,gemfire支持,elasticsearch和apache solr的自动配置。

Spring boot 1.2(2015年3月):升级到servlet 3.1/tomcat 8/jetty 9和spring 4.1,支持banner/jms/SpringBoot Application注释。

Spring boot 1.3(2016年12月):升级到spring4.2,新的spring-boot-devtools,缓存技术的自动配置(ehcache,hazelcast,redis,guava和infinispan)以及完全可执行的jar支持。

Spring boot 1.4(2017年1月):升级到spring 4.3,couchbase/neo4j支持,启动失败分析和RestTemplateBuilder。

Spring boot 1.5(2017年2月):支持kafka /ldap,第三方库升级,放弃对CRaSH支持和执行器日志终端用以动态修改应用程序日志级别。

    Spring boot的简便性使java开发人员能够快速大规模地应用于项目。 Spring boot可以说是Java中开发基于RESTful微服务Web应用的最快方法之一。它也非常适合docker容器部署和快速原型设计。

SpringBoot是什么?

官方定义

        Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.

翻译理解

        Spring Boot 的目的是提供一组工具,以便快速构建容易配置的 Spring 应用程序。Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

    SpringBoot就是简化Spring应用开发,约定大于配置,去繁从简,just run就能创建一个独立的,产品级别的应用!

举例验证

其实就是简单、快速、方便!平时如果我们需要搭建一个spring web项目的时候需要怎么做呢?

1)配置web.xml,加载spring和spring mvc

2)配置数据库连接、配置spring事务

3)配置加载配置文件的读取,开启注解

4)配置日志文件...配置完成之后部署tomcat 调试...

        现在非常流行微服务,如果我这个项目仅仅只是需要发送一个邮件,或者,如果我的项目仅仅是生产一个积分;我都需要这样折腾一遍!但是使用SpringBoot就不用这样了,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套web项目或者是构建一个微服务!

SpringBoot特点?

摘录官网:https://spring.io/projects/spring-boot#overview

     ● Create stand-alone Spring applications

     ● Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)

     ● Provide opinionated 'starter' dependencies to simplify your build configurationAutomatically

     ● configure Spring and 3rd party libraries whenever possible

     ● Provide production-ready features such as metrics, health checks and externalized configuration

     ● Absolutely no code generation and no requirement for XML configuration

理解翻译:

    ●  创建独立的Spring应用程序

    ● 嵌入的Tomcat、Jetty ,无需部署WAR文件

    ● 提供‘starter’的依赖,简化Maven配置

    ● 自动配置Spring和第三方的lib

    ●  提供生产就绪型功能,如指标,健康检查和外部配置

    ●  绝对没有代码生成并且对XML也没有配置要求

你可能感兴趣的:(SpringBoot是什么及背景了解)