前言
由于工作需求,以后一个月的时间80%会放在学习SpringBoot和SpringCloud上面~
大家很熟悉的可能是SSM, 但是你是否已经厌烦了臃肿的配置, 但又不得不屈服,因为Spring就是基于配置的. 所以为了解决这一问题, SpringBoot闪亮登场, 其实SpringBoot就是充当了Spring的角色,能够整合各种常用框架,最大的目的就是能够快速开发一个项目.
1. SpringBoot概述
1.1 什么是配置文件?(由此引出SpringBoot)
- 从我们生活中说起,电脑中也有很多配置文件(*.xml,*.properties, *.ini等), 自从我们接触电话开始,就陪告知不要随意更改/删除这些配置文件. 配置文件也被我们奉若神明.
- 为什么呢?因为这些配置文件也像java中的HashMap一样, 存放于电脑的key-value容器中, 至少容器中存放的是配置文件的键和值.
- 电脑配置文件的key-value, 记录了电脑程序的启动参数,执行参数,销毁参数. 程序和人一样,有自己的生命周期. 所以这些配置文件是电脑能够运行起来的核心文件.
1.2 java中配置发展史
- 第一阶段: *.properties, 配置文件是轻量级的,代码是重量级的.
只需要把一些核心的参数抽取出来即可,写代码还是重头戏. - 第二阶段: *.xml, 配置文件重量级, 代码轻量级的
但是也有自己的缺点,
xml可读性不高–> 所以把一部分注解抽取出来,用注解代替
但注解基于类的, 是分散的元数据(注解是java提供的,自己不能随意更改) - java配置(基于类的配置) SpringBoot时代
SprigBoot整合了很多框架, 又回归到了*.properties, *.yml时代, 不需要臃肿的配置.
1.3 什么是SpringBoot
由于xml可读性差, 基于注解又是分散的元数据. SpringBoot登场
了。它省去了臃肿的xml配置, 遵循的其实是约定大于配置. 言归正传,我将从以下几个方面简单介绍下,什么是SpringBoot.
- 简单的说,SpringBoot就是整合了很多优秀的框架,不用我们自己手动去写一堆xml配置
- 本质上来说,SpringBoot就是Spring. 只是SpringBoot能够在不配置xml中Spring Bean的情况下完成bean对象的生成. 它使用约定大于配置(即项目中存在大量的配置,此外还内置了一个约到好的配置, 让你需要再重新手动设置)的理念让你的 项目快速运行起来.
- 使用SpringBoot很容易创建一个独立运行(运行jar, 内嵌Servlet容器),准生产级别的基于Spring框架的项目, 使用SpringBoot可以不用或者少用Spring配置
1.4 SpringBoot的特点
- 为基于Spring的开发提供更快的入门体验
- 开箱即用, 没有代码生成, 也无需xml配置. 同时也可以修改默认值来满足特定的需求(.properties,.yml文件)
- 提供了一些大型项目中常见的非功能性特性.
- SpringBoot不是对Spring功能上的增强, 而是提供了一种快速使用Spring的方式.
1.5 SpringBoot的核心功能
- 起步依赖
起步依赖本质上是一个Maven项目对象模型(Project Object Model, POM), 定义了对其他库的传递依赖, 这些东西加在一起即支持某项功能
简单的说, 起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能. - 自动配置
SpringBoot的自动配置是一个运行时(更准确地说,是应用程序启动时[main方法])的过程, 考虑了众多因素,才决定Spring配置应该用哪个,不该用哪个.该过程是Spring自动完成的.