spring boot入门之诞生背景及优势影响
作者:字母 发布时间:2021-09-16 06:31:57
spring boot诞生的背景
在spring boot出现以前,使用spring框架的程序员是这样配置web应用环境的,需要大量的xml配置。下图展示了在xml配置的时代和SpringBoot的配置量的差别。
随着web项目集成软件的不断增多,xml配置也不断的增多,xml配置文件也在不断地增多,项目的依赖管理也越发的复杂。spring框架也因此饱受争议,配置文件难以理解且容易出错。
xml配置文件不但复杂,而且绝大部分属于模板配置,也就是说有80%以上的配置是不断重复的。在这个web项目里面这样配置,挪到另一个项目里面这部分配置仍然相同。
因此,像JFinal这种轻量级的web开发框架,因为其简单易用的特性,而逐渐的有了很大发展的空间。Spring社区也逐渐意识到了这个问题,在 2013 年的 SpringOne 2GX 会议上,Pivotal 的 CTO Adrian Colyer 回应了关于spring框架使用复杂度的问题,并且特别提到该平台将来的目标之一就是实现免 XML 配置和提供更佳开发体验。也就是我们今天使用到的spring boot的诞生的主要原因。
Spring 开源社区背后有强大的商业公司支持,目前已知的支持力度比较大的公司就是Pivotal 、netflix以及中国的阿里巴巴。
spring boot 改变了什么
举一个例子:自己接电线与标准化插座
Spring Boot的配置方式,就像是插头插座,就是这个标准。你第三方开源类库想接入进来,你就按照这个标准做一个starter的适配。spring MVC方式就像是手动接电线,很灵活,但是不同的人接出来的效果千差万别,而且很容易出错。Spring boot虽然灵活性不如Spring MVC的方式,并且你也不太清楚插座里面的线路是什么样,但就是方便易用。话说回来,当你习惯使用插头插座,你还期望自己是个电工不成?
Spring Boot 的目标不在于为已解决的问题领域提供新的解决方案,而是为平台带来另一种新的开发体验,从而简化对这些已有技术的使用。
使配置变简单
使监控变简单
使部署变简单
使开发变简单
具体这些改变如何得以体现,请学习后面的章节!
Spring Boot主要特性
遵循“约定优于配置”的原则,简化配置
可以完全脱离XML配置文件,采用注解配置和java Config
内嵌Servlet容器,应用可用jar包执行:java -jar
快速完成项目搭建、整合第三方类库,方便易用
提供了starter POM, 能够非常方便的进行包管理, 简化包管理配置
与Spring cloud天然集成,spring boot是目前java体系内实现微服务最佳方案
Spring Boot集成第三方类库的步骤
通过maven引入springboot-XXXX-starter
修改ymal或properties全局统一配置文件
加入一个Java Config。这个属于个性化配置,如果使用通用配置,这一步不需要。
官方默认集成类库请参考:
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using.build-systems.starters
来源:https://www.kancloud.cn/hanxt/springboot2/1177580
猜你喜欢
- 以前使用spring的使用要注入property要配置PropertyPlaceholder的bean对象。在springboot除&nbs
- 在C#的List集合操作中,有时候需要查找到List集合中的最大值,此时可以使用List集合的扩展方法Max方法,Max方法有2种形式,一种
- 1、对称二叉树【OJ链接】分为以下几种情况:二叉树为空,是对称二叉树二叉树不为空,其左子树或者右子树为空,不是对称二叉树二叉树不为空,左右子
- 前言今天遇到一个问题,我们有个ip.dat二进制文件,通过里面内容可以解析ip所在的地域信息,本地单元测试都是OK的,部署到测试环境后,发现
- 茫茫人海千千万万,感谢这一秒你看到这里。希望我的面试题系列能对你的有所帮助!共勉!愿你在未来的日子,保持热爱,奔赴山海!Java基础知识(继
- 1、输出矩形以此矩形案例(4行,9列的矩形)为例public static void main(String[] args) {  
- 1. pom.xml文件配置<?xml version="1.0" encoding="UTF-8&qu
- 一:本文使用范围此文不仅仅局限于spring boot,普通的spring工程,甚至是servlet工程,都是一样的,只不过配置一些 * 的
- 首先给大家声明一点:需要 jdk 7 , tomcat需要支持websocket的版本 1.InitServlet &n
- (注意:本文基于JDK1.8)前言增删改查,修改元素,Vector提供了3个方法,包括迭代器中的一个,不过本文只分析Vector自身的两个修
- 简介由于最近的项目需求,需要在把配置类导入到容器中,通过查询,使用@Import注解就能实现这个功能,@Import注解能够帮我们吧普通配置
- 安装Java:安装J2SE开发工具包5.0(JDK 5.0)下载:Java官方网站。请确保以下环境变量设置,如下所述:JAVA_HOME:
- 前言这段时间比较闲,就看起了jdk源码。一般的一个高级开发工程师, 能阅读一些源码对自己的提升还是蛮大的。本文总结了一些JDK源码中的“小技
- 执行如下的jni调用:package jni;public class JNITransObject { public nativ
- java 配置MyEclipse Maven环境虽然我的大部分项目已经迁到Idea上去了,但是在写部分小的测试程序的时候还是习惯
- 最近接触到一个需求要求压缩导出文件,于是乎便要致力于研究一下工具类啦,故也诞生了此篇文章。下面代码中,溪源也将import导入的依赖也贴出来
- 汉诺(Hanoi)塔问题:古代有一个梵塔,塔内有三个座A、B、C,A座上有n个盘子,盘子大小不等,大的在下,小的在上(如图)。有一个和尚想把
- 一般查询手机归属地内容应该很好用json格式保存,在网上找到了淘宝的归属地API,并下了处理json相关的jar包,做了这个手机归属地查询功
- JMMJMM是指Java内存模型,不是Java内存布局,不是所谓的栈、堆、方法区。每个Java线程都有自己的工作内存。操作数据,首先从主内存
- 注意是maven的webapp:选择maven下一步下一步。maven下载过慢在setting中加入镜像。 我也有疑问这是什么鬼格式,但是证