【Spring Boot简介】
什么是Spring Boot呢,就是一个Java Web的开发框架,和SpringMVC类似,对比其他Java Web框架的好处,官方说是简化开发,约定大于配置,能够迅速的开发web应用。
所有的技术框架的发展似乎都遵循了一条主线规律:从一个复杂的应用场景,逐渐衍生一种规范框架,只需要进行各种配置而不需要自己去实现它,这时候强大的配置功能成了优点;发展到今天,人们根据实际生产应用情况,选取其中实用功能和设计精华,重构出一些轻量级的框架;开始提倡“约定大于配置”,进而衍生出一些一站式的解决方案。
Spring Boot 是基于 Spring 开发的出的轻量级框架,Spirng Boot 只是用于快速、便捷地开发新一代基于 Spring 框架的应用程序。也就是说,并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。Spring Boot 以约定大于配置的核心思想,默认帮我们进行了很多设置,多数 Spring Boot 应用只需要很少的 Spring 配置。同时它集成了大量常用的第三方库配置(例如 Redis、RabbitMQ等等),Spring Boot 应用中这些第三方库几乎可以零配置的开箱即用。
简单来说就是SpringBoot其实不是什么新的框架,只是对Spring更好的整合,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了绝大多数的框架。
Spring Boot的主要优点:
1、快速开发:Spring Boot 提供了快速、简单的开发方式,自动配置 Spring 和其他第三方库,使开发人员专注于业务逻辑的编写,从而极大地提高了开发速度。
2、微服务支持:Spring Boot 自带微服务开发核心组件(如 Spring Cloud),提供了一套完整的微服务开发和部署方案,使开发者可以轻松构建和部署大型、复杂的分布式应用程序。
3、轻量级:Spring Boot 的特性是精简、灵活、模块化的,应用程序的运行时开销较小,能够快速响应用户请求,同时减少了开发和部署的成本。
4、易于部署和管理:Spring Boot 应用程序可以打成 jar 或 war 包,可以很方便地部署到云平台或容器中。
5、多数据源支持:Spring Boot 提供了多种数据库的支持,包括关系型数据库和非关系型数据库,开发人员可以根据自己的需要方便地进行配置和使用。
pom.xml分析
每一个Spring Boot的pom.xml中都有spring-boot-starter-parent依赖,是 Spring Boot 提供的一个父项目,使用 spring-boot-starter-parent 作为父项目可以带来诸多好处,如统一管理依赖版本、减少重复配置、大量的插件管理等。因此,在创建 Spring Boot 项目时,通常推荐使用 spring-boot-starter-parent 作为父项目来简化项目的构建和管理。帮助开发者更方便地构建和管理 Spring Boot 项目。
父依赖点进去,还会有一个父依赖,这里才是真正管理SpringBoot应用里面所有依赖版本的地方,SpringBoot的版本控制中心;以后导入依赖默认是不需要写版本;但是如果导入的包没有在依赖中管理着就需要手动配置版本了;
springboot-boot-starter-xxx:就是spring-boot的XXX场景启动器,
spring-boot-starter-web:为我们内嵌了 Servlet 容器以及 SpringMVC 的依赖,并为 Spring MVC 提供了大量自动配置,可以适用于大多数 Web 开发场景。默认替我们引入了核心启动器 spring-boot-starter,因此,当 Spring Boot 项目中的 pom.xml 引入了 spring-boot-starter-web 的依赖后,就无须在引入 spring-boot-starter 核心启动器的依赖了。即使不进行任何配置,也可以直接使用 Spring MVC 进行 Web 开发。