SpringBoot-01-简介

一、简介

在介绍SpringBoot之前我们首先来简单介绍一下 Spring, Spring 是诞生于2002年的 Java 开发框架,可以说已经成为 Java 开发的事实标准。所谓事实标准就是虽然 Java 官方没有说它就是开发标准,但是在当前 Java 开发的众多项目中,当我们谈到产品级的 Java 项目的时候,大多都是基于 Spring 或者应用了 Spring 特性的。
Spring 基于 IOC 和 AOP 两个特性对 Java 开发本身进行了大大的简化。但是一个大型的项目需要集成很多其他组件,比如一个 WEB 项目,至少要集成 MVC 框架、Tomcat 这种 WEB 容器、日志框架、ORM框架,连接数据库要选择连接池吧……使用 Spring 的话每集成一个组件都要去先写它的配置文件,比较繁琐且容易出错,然后就有了SpringBoot。
Spring Boot 是由 Pivotal 团队提供的全新框架,2014 年 4 月发布 Spring Boot 1.0 2018 年 3 月 Spring Boot 2.0发布。它是对spring的进一步封装,其设计目的是用来简化 Spring应用的初始搭建以及开发过程。怎么简化的呢?就是通过封装、抽象、提供默认配置等方式让我们更容易使用。
SpringBoot基于 Spring 开发。SpringBoot本身并不提供 Spring 框架的核心特性以及扩展功能,也就是说,它并不是用来替代 Spring的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。关于 SpringBoot有一句很出名的话就是约定大于配置。采用 Spring Boot 可以大大的简化开发模式,它集成了大量常用的第三方库配置,所有你想集成的常用框架,它都有对应的组件支持,例如 Redis、MongoDB、Jpa、kafka,Hakira等等。SpringBoot应用中这些第三方库几乎可以零配置地开箱即用,大部分的 SpringBoot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。

二、SpringBoot 特性

SpringBoot的主要特色包括构建独立的Spring应用、嵌入式的Web容器、固化的starter依赖、自动装配Spring模块或第三方库、产品就绪特性(日志、指标、健康检查、外部化配置等)、避免或简化XML配置等特性。

可独立运行的Spring应用

相对于普通的Spring应用,使用SpringBoot构建的Spring应用可以直接打包为一个独立可执行的jar或war包,使用java -jar命令即可运行,不需要管理依赖的第三方库,也不需要依赖外部容器来启动应用。之前使用Spring开发的Java Web应用,一般都会在第三方的Web容器中启动,比如Tomcat等,而使用SpringBoot开发的Java Web应用,虽然基于Spring,但它提供了内嵌的Web容器(基于Servlet或Reactive的Web容器,如Tomcat、Jetty、Undertow、NettyWebServer),通过SpringBoot插件,把所有依赖的第三方库、Web容器和应用本身一起重新打包(repackage)为一个Fat Jar或Fat War,然后直接使用java -jar命令运行即可。

嵌入式Web容器

SpringBoot内置了多种嵌入式Web容器,包括Tomcat、Jetty、Undertow、NettyWebServer等,用于运行基于Servlet或Reactive的Web应用,无需再打包部署WAR文件,即不需要依赖外部的Web容器部署。

固化的starter依赖

SpringBoot提供了一系列的starter依赖,用于快速的引入应用依赖的Spring模块及相关的第三方库。不同版本的SpringBoot,与其依赖的Spring模块及其相关的第三方库的版本关系是固定的,一一对应的。开发人员不需要关注依赖的Spring模块和第三方库的版本,只需要关心SpringBoot的版本即可,SpringBoot会正确引入依赖的Spring模块和第三方库的版本。固化依赖,可以降低SpringBoot应用管理依赖的成本。

自动装配Spring模块或第三方库

SpringBoot启动应用时,会推断应用类型,并检测引入的Spring模块或第三方库,当条件满足时自动加载Spring模块或第三方库的组件到容器中,以提供给应用使用。

产品就绪特性

SpringBoot提供了应用部署产品环境运行所必须的日志、指标、健康检查、外部化配置等特性,为部署后的运维提供工具支持,支撑应用尽可能快的部署到产品环境。

避免或简化配置

不会额外生成代码,并且可以简化甚至不需要xml或properties文件配置,即可快速开发Spring应用

总结

本文章配套视频地址 https://www.bilibili.com/video/BV1pt4y1x7nf/

以上教程示例源码
链接:https://pan.baidu.com/s/1qz1Vj4LodnfK40w4D8dQMw
提取码:78m3

如有问题,可以加我公众号进行技术交流
在这里插入图片描述
老姚,带你学习先进的分布式技术、架构技术、运维技术,干货满满

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值