SpringBoot学习总结——SpringBoot进阶

一、热部署

使用SpringBoot提供的devtools实现热部署

原理:实现监控classpath下文件的变化,如果发生变化则自动重启服务器

配置:添加devtools依赖


<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-devtools</artifactId>
   <!-- 该依赖不传递 -->
   <optional>true</optional>
</dependency>
<plugin>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-maven-plugin</artifactId>
   <configuration>
    <!-- 如果没有该配置,devtools不会生效 -->
   	<fork>true</fork>
   </configuration>
</plugin>

二、扩展默认的SpringMVC功能

1、简介
以前在SpringMVC中通过如下代码实现视图跳转

<mvc:view-controller path="/showLogin" view-name="login" />
<mvc:interceptors>
	<mvc:interceptor>
		<mvc:mapping path="/hello"/>
		<bean class="拦截器位置"/>
	</mvc:interceptor>
</mvc:interceptors>

SpringBoot自动配置默认没有提供以上功能配置,需要自己扩展,使用WebMvcConfigure接口

2、基本步骤
步骤:

  1. 定义一个配置类(@Configuration),实现WebMvcConfigure接口

    注:这个接口中的方法都添加了Jdk1.8中的default方法修饰,不强制实现所有的方法(Jdk1.8新特性),只能在SpringBoot2.0使用

  2. 根据需要实现相应方法
    在这里插入图片描述

三、全局异常处理

1、简介
当程序出现异常时进行全局处理,SpringBoot默认的异常提示:Whitelabel Error Page

两种方式:

  • 定义错误码页面
  • 定义异常通知

2、定义错误码页面
创建 错误状态码.html 页面,放在templates/error目录中,当发生错误时会自动到该目录下查找对应的错误页面

可以创建如 4xx.html5xx.html 页面,用来匹配所有该类型的错误(会先进行精确匹配)

还可以在页面上获取错误信息
在这里插入图片描述
3、定义异常通知
在这里插入图片描述

四、关于Servlet容器

1、简介
SpringBoot中默认内置了Servlet容器:Tomc

问题:SpringBoot默认是以jar包的方式启动内置的Servlet容器,没有web.xml文件,如何注册Servlet三大组件:Servlet、Filter、Listener?

解决:通过自定义Servlet配置,使用ServletRegistrationBeanFilterRegistrationBeanListenerRegistrationBean

2、注册Servl组件
步骤:

  1. 定义一个配置类
  2. 自定义一个方法,用来注册组件
    在这里插入图片描述

五、使用外部的Servlet容器

1、优缺点
使用内置的Servlet容器:将应用打成可执行的jar包,直接运行

  • 优点:简单、方便
  • 缺点:不支持JSP,可定制性差

使用外部Servlet容器:将应用打成war包,然后部署到外部的Tomcat

  • 优点:支持JSP、可定制性强

2、操作步骤
步骤:

  1. 创建一个Maven的war工程

    有如下三个变化
    - 打包方式变为war
    - 将内置的Tomcat的scope配置为provided
    - 定义了一个SpringBootServletInitializer的子类
    在这里插入图片描述

  2. 创建Web目录

    Project Structure ——> Modules ——> Depioyment Descriptors ——>+

  3. 配置前缀和后缀

    <!-- 配置文件路径的前缀 -->
    spring.mvc.view.prefix=/WEB-INF/views/
    spring.mvc.view.suffix=.jsp
    
  4. 配置Tomcat(Tomcat 8.5以上才行)

发布了37 篇原创文章 · 获赞 16 · 访问量 6059

猜你喜欢

转载自blog.csdn.net/qq_44039966/article/details/102521659