《SpringBoot揭秘:快速构建微服务体系》—第2章2.1节Spring框架的起源

第2章 饮水思源:回顾与探索Spring
框架的本质
SpringBoot框架的命名关键在“Boot”上,或许Boot Spring更能说明这个微框架设计的初衷,也就是快速启动一个Spring应用!
所以,自始至终,SpringBoot框架都是为了能够帮助使用Spring框架的开发者快速高效地构建一个个基于Spring框架以及Spring生态体系的应用解决方案。要深刻理解SpringBoot框架,首先我们需要深刻理解Spring框架,所以让我们先来读读历史吧!
2.1 Spring框架的起源
虽然笔者在自己的上一本著作《Spring揭秘》中对Spring框架进行了十分详尽的介绍和剖析,但这里还是要再啰嗦几句。
Spring框架诞生于“黑暗”的EJB 1的时代(如果你没有听说过,恭喜你,说明你还年轻),那是一个J2EE规范统治的时代,基于各种容器和J2EE规范的软件解决方案是唯一的“正道”,沉重的研发模式和生态让那个时代的开发者痛苦不堪。随着经典巨著《Expert One-on-One J2EE Design and Development》的诞生,重规范时代终于迎来了一线曙光,该书的作者Rod Johnson在书中阐述了轻量级框架的研发理念,对原有笨重的规范进行了抨击,并基于书中的理念推出了最初版的Spring框架,并延续至今已达10多年之久。
Spring框架是构建高效Java研发体系的一种最佳实践,它通过一系列统一而简洁的设计,为广大Java开发者开拓了一条光明的Java应用最佳实践之路。
大家熟知的Spring IoC与AOP自不必说,Spring更是对Java应用开发中常用的技术进行了合理的设计和封装,使得Java应用开发者可以避免昔日因API和系统设计不当而易犯的错误,又能够高效地完成相应问题领域的研发工作,真可说是Java开发必备良器!
当然,因为这不是一本专门介绍Spring框架的书,所以,这里不会详细展开对Spring框架的细节回顾。不过,一些核心的实践以及与SpringBoot相关的概念,还是有必要说在前的,比如Spring IoC!

时间: 2024-10-19 14:29:31

《SpringBoot揭秘:快速构建微服务体系》—第2章2.1节Spring框架的起源的相关文章

《SpringBoot揭秘:快速构建微服务体系》—第1章1.4节微服务会带来哪些挑战

1.4 微服务会带来哪些挑战微服务给我们带来的并非只有好处,还有相应的一些挑战.服务"微"化之后,一个显著的特点就是服务的数量增多了.如果将软件开发和交付也作为一种生产模式看待,那么数量众多的微服务实际上就类似于传统生产线上的产品,而在传统生产模型下,为了能够高效地生产大量产品,通常采用的就是标准化生产.比如在汽车产业,在福特T型车没有出来之前,大多汽车企业的生产效率都不高,而福特在引入标准化生产线之后,福特T型车得以大量生产并以低成本优势快速普及.在其他行业也是同样的道理,个性化生产

《SpringBoot揭秘:快速构建微服务体系》目录—导读

前 言为什么写这本书忘了是2015年的哪一天,只记得几个朋友跟友商的其他几个做技术的朋友吃饭,并简单做下技术交流.席间,友商的几位朋友对SpringBoot框架实施微服务很感兴趣,交谈甚欢之际,我无意间开玩笑说:"是不是该考虑写一本SpringBoot的书?"钟伦甫(原淘宝聚石)同学随口一句,"你倒是写啊!",得,以行践言吧,谁让你把话说出去了呢?当然,朋友的"热切期盼"只是其一,微服务盛行也是本书写作的一个契机, 希望本书成为国内第一本微服务相

《SpringBoot揭秘:快速构建微服务体系》—第1章1.1节了解微服务

第1章 了解微服务SpringBoot是一个可使用Java构建微服务的微框架,所以在了解SpringBoot之前,我们需要先了解什么是微服务.1.1 什么是微服务微服务(Microservice)虽然是当下刚兴起的比较流行的新名词,但本质上来说,微服务并非什么新的概念.实际上,很多SOA实施成熟度比较好的企业,已经在使用和实施微服务了.只不过,它们只是在闷声发大财,并不介意是否有一个比较时髦的名词来明确表述SOA的这个发展演化趋势罢了.微服务其实就是服务化思路的一种最佳实践方向,遵循SOA的思路

《SpringBoot揭秘:快速构建微服务体系》—第1章1.3节微服务会带来哪些好处

1.3 微服务会带来哪些好处显然,随着系统复杂度的提升,以及对系统扩展性的要求越来越高,微服务化是一个很好的方向,但除此之外,微服务还会给我们带来哪些好处?1.3.1 独立,独立,还是独立我们说微服务打响的是各自的独立战争,所以,每一个微服务都是一个小王国,这些微服务跳出了"大一统"(Monolith)王国的统治,开始从各个层面打造自己的独立能力,从而保障自己的小王国可以持续稳固的运转.首先,在开发层面,每个微服务基本上都是各自独立的项目(project),而对应各自独立项目的研发团队

《SpringBoot揭秘:快速构建微服务体系》—第3章3.3节SpringApplication:SpringBoot程序启动的一站式解决方案

3.3 SpringApplication:SpringBoot程序启动的一站式解决方案 如果非说SpringBoot微框架提供了点儿自己特有的东西,在核心类层面(各种场景下的自动配置一站式插拔模块,我们下一章再重点介绍),也就是SpringApplication了. SpringApplication将一个典型的Spring应用启动的流程"模板化"(这里是动词),在没有特殊需求的情况下,默认模板化后的执行流程就可以满足需求了:但有特殊需求也没关系,SpringApplication在

《SpringBoot揭秘:快速构建微服务体系》—第1章1.5节本章小结

1.5 本章小结在带领大家探索本书的主角SpringBoot微框架之前,本章首先为大家介绍了SpringBoot微框架服务的核心场景,即微服务.然后一起探索了微服务的概念以及由来,并探讨了微服务可以为我们带来哪些好处,以及同时又为我们带来哪些挑战.总的来说,微服务化虽然是当下流行的趋势,但并非任何场景都合适,我们还是要审慎地在"大一统"(Monolith)服务架构和微服务架构之间做出选择, 而一旦确定选择了微服务化之路,那么,就应该围绕团队和组织的主要语言生态以及微服务方向积极探索高效

《SpringBoot揭秘:快速构建微服务体系》—第3章3.4节再谈自动配置

3.4 再谈自动配置此前我们讲到,@EnableAutoConfiguration可以借助SpringFactoriesLoader这个特性将标注了@Configuration的JavaConfig类"一股脑儿"的汇总并加载到最终的ApplicationContext,不过,这其实只是"简化版"的说明,实际上,基于@EnableAutoConfiguration的自动配置功能拥有更加强大的调控能力,通过配合比如基于条件的配置能力或者调整加载顺序,我们可以对自动配置进

《SpringBoot揭秘:快速构建微服务体系》—第2章2.3节 了解一点儿JavaConfig

2.3 了解一点儿JavaConfig Java 5的推出,加上当年基于纯Java Annotation的依赖注入框架Guice的出现,使得Spring框架及其社区也"顺应民意",推出并持续完善了基于Java代码和Annotation元信息的依赖关系绑定描述方式,即JavaConfig项目. 基于JavaConfig方式的依赖关系绑定描述基本上映射了最早的基于XML的配置方式,比如: (1)表达形式层面 基于XML的配置方式是这样的: <!-- bean定义 --> 而基于

《SpringBoot揭秘:快速构建微服务体系》—第3章3.5节本章小结

3.5 本章小结至此,我们对SpringBoot的核心组件完成了基本的剖析,综合来看,大部分的东西都是Spring框架背后原有的一些概念和实践方式,SpringBoot只是在这些概念和实践方式上对特定的场景实现进行了固化和升华,而也恰恰是这些固化让我们开发基于Spring框架的应用更加方便高效.如果SpringBoot真有什么秘密可言的话,那也是Spring框架和Spring生态圈的秘密,如果大家对Spring框架和其生态圈已经了然于心,通过本章的讲解,相信SpringBoot对大家已经无甚神秘