未经允许,不得转载

原作者:字母哥博客

本文完整系列出自:springboot深入浅出系列

一、前置说明

本节大纲

  • spring boot 诞生的背景
  • Spring boot 改变了什么
  • Spring Boot主要特性
  • Spring Boot集成第三方开源组件的步骤

二、spring boot诞生的背景

在spring boot出现以前,使用spring框架的程序员是这样配置web应用环境的,需要大量的xml配置。

  • 随着web项目集成软件的不断增多,xml配置也不断的增多,xml配置文件也在不断地增多,项目的依赖管理也越发的复杂。spring框架也因此饱受争议,配置文件难以理解且容易出错。
  • xml配置文件不但复杂,而且绝大部分属于模板配置,也就是说有80%以上的配置是不断重复的。也就是说在这个web项目里面这样配置,挪到另一个项目里面这部分配置仍然相同。

因此,像JFinal这种轻量级的web开发框架,因为其简单易用的特性,而逐渐的有了很大发展的空间。在 2013 年的 SpringOne 2GX 会议上,Pivotal 的 CTO Adrian Colyer 回应了关于spring框架使用复杂度的问题,并且特别提到该平台将来的目标之一就是实现免 XML 配置和提供更佳开发体验。 也就是我们今天使用到的spring boot的诞生的原因。

举一个例子:自己接电线与标准化插座 Spring Boot的配置方式,就像是插头插座,就是这个标准。你第三方开源类库想接入进来,你就做一个starter的适配。spring MVC方式就像是手动接电线,很灵活,但是不同的人接出来的效果千差万别,而且很容易出错。Spring boot虽然灵活性不如Spring MVC的方式,你也不太清楚插座里面的线路是什么样,但就是方便易用。话说回来,当你习惯使用插头插座,方便易用,你还期望自己是个电工不成?

三、spring boot 改变了什么

Spring Boot 的目标不在于为已解决的问题领域提供新的解决方案,而是为平台带来另一种新的开发体验,从而简化对这些已有技术的使用。

  • 使配置变简单
  • 使监控变简单
  • 使部署变简单
  • 使开发变简单

具体这些改变如何得以体现,请学习后面的章节!

四、Spring Boot主要特性

  • 遵循“约定优于配置”的原则,简化配置
  • 可以完全脱离XML配置文件,采用注解配置和java Config
  • 内嵌Servlet容器,应用可用jar包执行:java -jar
  • 快速完成项目搭建、整合第三方类库,方便易用
  • 提供了starter POM, 能够非常方便的进行包管理, 简化包管理配置
  • 与Spring cloud天然集成,spring boot是目前java体系内实现微服务最佳方案

五、Spring Boot集成第三方类库的步骤

  1. 通过maven引入springboot-XXXX-starter
  2. 修改ymal或properties全局统一配置文件
  3. 加入一个Java Config。这个属于个性化配置,如果使用通用配置,这一步不需要。

有哪些官方已经默认集成的类库?请参考:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-starter

未经允许,不得转载

原作者:字母哥博客

本文完整系列出自:springboot深入浅出系列

本篇文章由一文多发平台ArtiPub自动发布

springboot系列之01-产生的背景及其优势的更多相关文章

  1. springBoot系列教程01:elasticsearch的集成及使用

    1.首先安装elasticsearch 集群环境,参考 http://www.cnblogs.com/xiaochangwei/p/8033773.html 注意:由于我的代码采用的是springbo ...

  2. Springboot 系列(十二)使用 Mybatis 集成 pagehelper 分页插件和 mapper 插件

    前言 在 Springboot 系列文章第十一篇里(使用 Mybatis(自动生成插件) 访问数据库),实验了 Springboot 结合 Mybatis 以及 Mybatis-generator 生 ...

  3. SpringBoot系列之@Value和@ConfigurationProperties

    继上一篇博客SpringBoot系列之YAML配置用法之后,再写一篇@Value.@ConfigurationProperties的对比博客 这两个主键都是可以获取配置文件属性的,不过是有比较大的区别 ...

  4. SpringBoot系列之@PropertySource读取yaml文件

    SpringBoot系列之@PropertySource支持yaml文件读取 最近在做实验,想通过@PropertySource注解读取配置文件的属性,进行映射,习惯上用properties都是测试没 ...

  5. SpringBoot系列之@PropertySource用法简介

    SpringBoot系列之@PropertySource用法简介 继上篇博客:SpringBoot系列之@Value和@ConfigurationProperties用法对比之后,本博客继续介绍一下@ ...

  6. SpringBoot系列之配置文件占位符使用

    SpringBoot系列之配置文件占位符使用 Springboot占位符支持的有随机数和配置的值等等,本博客主要介绍的是随机数和获取属性配置值的简单用法 随机数获取 支持的写法有: ${random. ...

  7. SpringBoot系列教程web篇之过滤器Filter使用指南

    web三大组件之一Filter,可以说是很多小伙伴学习java web时最早接触的知识点了,然而学得早不代表就用得多.基本上,如果不是让你从0到1写一个web应用(或者说即便从0到1写一个web应用) ...

  8. SpringBoot系列教程JPA之新增记录使用姿势

    SpringBoot系列教程JPA之新增记录使用姿势 上一篇文章介绍了如何快速的搭建一个JPA的项目环境,并给出了一个简单的演示demo,接下来我们开始业务教程,也就是我们常说的CURD,接下来进入第 ...

  9. SpringBoot系列之自定义starter实践教程

    SpringBoot系列之自定义starter实践教程 Springboot是有提供了很多starter的,starter翻译过来可以理解为场景启动器,所谓场景启动器配置了自动配置等等对应业务模块的一 ...

随机推荐

  1. 【JVM从小白学成大佬】6.创建对象及对象的访问定位

    <JVM从小白学成大佬>系列推出到现在,收到了很多小伙伴的好评,也收到了一些小伙伴的建议,在此表示感谢. 有几个小伙伴提出了希望出一篇介绍对象的创建及访问,猿人谷向来是没有原则的,小伙们要 ...

  2. hdu-6601 Keen On Everything But Triangle

    题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=6601 Description N sticks are arranged in a row, and ...

  3. hdu 4612 无向图连通分量缩点,然后求树的最大直径

    #pragma comment(linker,"/STACK:102400000,102400000") #include <iostream> #include &l ...

  4. 杭电多校第二场 1005 hack it

    题意: 构造一个n*n 的 01 矩阵, 0 < n < 2001,  矩阵需要满足没有一个子矩阵的4个角都是1,并且矩阵内1的个数至少有85000个. 题解:数论构造题 参考From 代 ...

  5. 牛客小白月赛6 C 桃花 dfs 求树上最长直径

    链接:https://www.nowcoder.com/acm/contest/136/C来源:牛客网 题目描述 桃花一簇开无主,可爱深红映浅红.                            ...

  6. codeforces 454 E. Little Pony and Summer Sun Celebration(构造+思维)

    题目链接:http://codeforces.com/contest/454/problem/E 题意:给出n个点和m条边,要求每一个点要走指定的奇数次或者是偶数次. 构造出一种走法. 题解:可能一开 ...

  7. JSP内置对象(一)

    一.out对象out对象是JspWriter类的实例,是向客户端输出内容常用的对象1.void println() out的println()方法,向客户端打印字符串 2. void clear() ...

  8. 解开Batch Normalization的神秘面纱

    停更博客好长一段时间了,其实并不是没写了,而是转而做笔记了,但是发现做笔记其实印象无法更深刻,因此决定继续以写博客来记录或者复习巩固所学的知识,与此同时跟大家分享下自己对深度学习或者机器学习相关的知识 ...

  9. redis.windows.conf配置详解

    redis.windows.conf配置详解 转自:https://www.cnblogs.com/kreo/p/4423362.html # redis 配置文件示例 # 当你需要为某个配置项指定内 ...

  10. 更换SVN项目资源库目录出现的问题

    今天在做SVN资源库管理时出现了如下问题: 因为当时把资源库地址写错了,所以想换个资源库,所以先断开资源库 然后我重新导入新的资源库位置: 于是就出现了这种问题: 其实这个问题困扰我好久了之前一直放过 ...