一、SpringBoot 概况
SpringCloud 是基于 SpringBoot 框架,为了更好的理解后面文章的内容,这篇文章我们对 SpringBoot 做一个简单的介绍,算是一个技术铺垫。
1、更轻量的 Web 开发框架
在 SpringBoot 出现之前,java web 应用程序基本上都是基于 SpringMVC 的,随着大前端的发展、容器技术的发展,SpringMVC 貌似有些失群落伍,SpringMVC 最大的诟病就是臃肿,程序员往往会陷入配置的泥潭,各种 XML、Annotation 配置,让人眼花缭乱,问题跟踪与定位也极其困难,而 SpringBoot 让程序员从繁杂的配置中解放出来,提供轻量级,更简便的开发框架,让开发人员聚集程序的核心业务,提升软件研发效能。
2、基于 JavaConfing 配置
SpringBoot 在 Spring 的基础之上,已约定优于配置的原则,为开发人员提供更轻量、更便捷的 Web 开发框架。所谓约定优于配置是指:“在没有规定必须需要配置的地方,就可以使用默认配置”,大量减少需要程序员自己配置的工作,SpringBoot 通过 Java Config 的配置方式,取代 applicationContext.xml 配置,实现了 xml 的零配置。
3、Starter 包管理机制
同时,SpringBoot 还引入 Starter 机制,Starter 机制将程序某项能力所依赖的 jar 包进行统一管理,比如程序需要 web 能力,只需加入一个 spring-boot-starter-web 的 Starter 即可,至于 web 开发具体需要依赖哪些 jar 包,并不需要程序员关心,一切都交给 Starter 去管理。
4、内嵌的 servlet 容器
在传统的 Java Web 程序中,系统开发完成之后,需要部署到一个 Web 容器(如 Tomcat)上才能运行。而 SpringBoot 支持内嵌了 servlet 容器。因为有了这一特征 SpringBoot 可以像桌面应用

本文介绍了SpringBoot的基本特性,包括更轻量的Web开发框架、JavaConfig配置、Starter包管理、内嵌Servlet容器以及核心的自动化配置-SPI机制。SPI通过`@EnableAutoConfiguration`实现组件的动态加载,而`@SpringBootApplication`注解结合了`@SpringBootConfiguration`、`@ComponentScan`和`@EnableAutoConfiguration`,分别负责内部代码装载、外部代码自动装载和配置装载。通过这种方式,SpringBoot实现了高内聚低耦合的系统设计。

2715

被折叠的 条评论
为什么被折叠?



