-
什么是SpringBoot?
SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
其本质就是可以快速搭建一个工程的工具,不需要发布测试等繁琐过程 -
SpringBoot的特点(核心功能)
(1)独立运行的spring项目
springboot可以独立运行一个spring容器,只需要一个main函数调用springboot入口的api
(2)内嵌的servlet容器
springboot为web项目提供了内嵌到web容器,默认使用tomcat(可以替换成jetty或者underdertow)将springboot封装打包的时候将内置的容器一起包装,运行不需要额外的tomcat。
(3)提供了简化的依赖配置
基于maven的特点实现的:依赖传递
(4)自动配置 :springboot对外宣称搭建项目原则—习惯优于配置
第一种
根据jar包,环境选择自动配置的内容,比如:web包,那么此时内置的servlet容器就存在,在启动工程之前,关于tomcat的所有配置都有
第二种
springboot可以扫描所有的spring需要创建的对象,可以做到 0 xml文件
3.SpringBoot高阶
springboot中实现了自动配置,需要有些内容提供属性支持,比如:datasource,springboot不知道连接数据库的地址,这些属性(库名 用户名 密码。。。)需要开发人员提供,这些属性需要配置到springboot提供的application.properties文件中
- application.properties
properties格式是常见的一种属性配置的文件格式,key-value键值对形式配置,可以在当前项目中的resources目录中配置。
如下配置:使用此文件做了当前服务的端口修改以及访问路径的修改
- application.yml
yml格式实际上是properties格式的一种变形,配置过程更加的满足数据结构,简化配置。底层配置本质上还是key-value
4.SpringBoot的原理
发展历程:
Spring 1.X版本:
开发中需要引入大量的xml文件,并且在每个文件中均需要通过IOC DI的特点实现bean的管理和创建
随着项目的扩大,xml文件越来越多,bean的管理和创建非常的繁琐
Spring 2.X版本:
java5出现了,使得注解广泛使用,Spring也利用java5的注解特性,提高了开发效率,但是并没有完全舍弃xml
Spring 3.X/4.X版本:
从4.X开始提供了Java的配置,使用该配置可以很好的管理配置bean
Spring 5.X版本:
Spring 5.X是Java首个支持响应式的web框架