一、SpringBoot介绍
1、自springboot2.0后,JDK环境必须在1.8以上
2、为什么要用Springboot?
(1)传统项目:整个SSM或者SSH,会考虑配置文件、 jar包冲突、整合起来比较繁琐。
(2)打包方式:打包成war放入到webapps目录下进行启动
3、什么是springboot?
(1)Springboot是一个快速开发框架,能够帮助我们快速整合第三方框架(如:Maven依赖关系和Maven继承)
(2)内置嵌入Http服务器(Tomcat、Jetty),完全采用注解化,简化XML配置,没有Web.xml,最终以Java程序进行执行。在SpringBoot3.0后采用注解启动SpringMVC。
4、SpringBoot与SpringCloud的区别?
(1)SpringBoot是一套快速开发框架,它能够帮助我们快速整合第三方的常用框架,完全采用注解化、简化xml配置、最终以Java程序进行执行。
(2)SpriingCloud是一套目前完整的微服务解决框架,功能非常强大。比如注册中心、客户端调用工具、服务治理(负载均衡、断路器、分布式配置中心、网关、服务链路、消息总线等)
关系:Spring是微服务框架?
SpringBoot不是微服务框架,SpringBoot+SpringCloud是微服务,springBoot实现快速开发。
核心区别:
SpringCloud是微服务框架-------rpc远程调用,需要SpringBoot的支持,如果单纯使用SpringBoot那就只是实现快速开发
5、 SpringBoot与SpringMVC的关系
1、Springboot集成了SpringMVC,
2、Springboot启动时候没有传统的配置springMVC.xml,那么他是如何启动SpringMVC的呢?
(1)使用注解启动springMvc,简化xml。
二、构建 SpringBoot 项目及启动
1、使用maven构建SpringBoot项目
(1)直接上图
(2)maven项目创建好了之后,加载SpringBoot的相关依赖
2、编写一个HelloWorld程序
(1)Controller
(2)SpringBoot启动器
(3)启动SpringBoot启动器
(4)至此,HelloWorld程序执行成功
3、关于编写启动器需要注意的问题
启动器存放的位置。启动器可以和 controller 位于同一个包下,或者位于 controller 的上一级 包中,但是不能放到 controller 的平级以及子包下。
四、SpringBoot整合Web开发
1、SpringBoot整合Web开发共分为:
(1)整合Servlet
(2)整合Filter
(3)整合Listener
(4)访问静态资源
(5)文件上传
2、整合Servlet
(1)通过注解扫描完成Servlet 组件的注册
编写Servlet
编写启动类
(2)通过方法完成Servlet 组件的注册
编写Servlet
编写启动类
3、整合Filter
(1)通过注解扫描完成Filter 组件的注册
编写Filter
编写启动类
(2)通过方法完成Filter 组件的注册
编写Filter
编写启动类
4、整合Listener
(1)通过注解扫描完成 Listener 组件的注册
编写Listener
编写启动类
(2)通过方法完成 Listener 组件注册
编写Listener
编写启动类
5、访问静态资源
(1)SpringBoot 从 classpath/static 的目录(注意:目录名称必须是static)
(2)还有一种是ServletContext根目录下(注意:目录名称必须要webapp)
emmmm,这里偷个懒就不写了。。。与第一种方法类似
6、文件上传
(1)编写Controller
(2)编写启动类
(3)设置上传文件大小的默认值(注意:这里要在resource目录下,且不能在static目录里面)
设置单个上传文件的大小
spring.http.multipart.maxFileSize=200MB
设置一次请求上传文件的总容量
spring.http.multipart.maxRequestSize=200MB
7、至此SpringBoot整合Web开发完毕,其实前面的整合Servlet、Filter、Listener等,会一种就好了,建议注解