SpringBoot扩展SpringMVC配置

news2024/11/29 8:43:45

SpringBoot扩展SpringMVC配置

  • 1.继承WebMvcConfigurer接口
  • 2.实现一个自己的视图解析器
  • 3.其他自定义配置
    • 视图跳转

Spring Boot通过WebMvcAutoConfiguration来提供一些默认配置;大多数时候使用默认的配置即可满足要求。但有时可能需要做一些个性化定制,此时就需要使用以下方式来进行。

1.继承WebMvcConfigurer接口

我们可以通过继承WebMvcConfigurer接口来达到扩展默认SpringMVC配置的效果:

需要与Configuration注解一起使用,否则将不会生效

示例如下:

@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
}

WebMvcConfigurer提供的功能如下表所示:

在这里插入图片描述
在这里插入图片描述


2.实现一个自己的视图解析器

首先需要写一个新的视图解析器:

写一个内部类,继承ViewResolver接口就好:

public static class MyViewResolver implements ViewResolver {
    @Override
    public View resolveViewName(String viewName, Locale locale) throws Exception {
        return null;
    }
}

随后,不要忘记把它注册到Bean中:

@Bean
public ViewResolver myViewResolver() {
    return new MyViewResolver();
}

整体代码:

@Configuration
public class MyMvcConfig implements WebMvcConfigurer {

    @Bean
    public ViewResolver myViewResolver() {
        return new MyViewResolver();
    }

    public static class MyViewResolver implements ViewResolver {
        @Override
        public View resolveViewName(String viewName, Locale locale) throws Exception {
            return null;
        }
    }
}

3.其他自定义配置

视图跳转

我们可以重写addViewControllers方法以实现试图跳转的功能:

@Override
public void addViewControllers(ViewControllerRegistry registry) {
    registry.addViewController("/qian").setViewName("test");
}

此时我们访问/qian就会跳转到test页面

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/85219.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nginx 可视化!配置监控一条龙!

nginx-gui这个东西真的要吹一波,太好用了,而且源码公开。对于我这样一个作为Linux菜鸟的Java开发来说,这个可视化配置工具简直是福音! 需求 nginx 可视化管理,例如 配置管理 性能监控 日志监控 其他配置 目前已实现…

CIDR格式网络策略值设置方式

CIDR的格式是IP网段/网络ID,斜杠左面的是网络IP段,斜杠右面是网络ID。如果网络用的是IPV4,它最大有效值是32,它的作用本质上是用来表示网络策略所用的子网掩码二进制里的1有多少个,也就是网络ID的位数。 传统的IPV4-t…

策略模式

文章目录策略模板模式1.策略模式的本质2.何时选用策略模式3.优缺点4.策略模式的结构5.实现支付案例支付案例参数不一致问题策略模板模式 1.策略模式的本质 策略模式的本质:分离算法,选择实现。 纵观整个策略模式实现的功能和设计,它的本质还是“分离算法…

会议学习笔记

目录1.标注高效的核心思路:1.部分监督PSL2.自监督SSL魔方复原3.单一标注无标注2.深度通用学习DUL1.通用特征点检测2.通用MRI重建3.学习与知识融合如何把大数据小任务转换成小数据大任务 1.标注高效的核心思路: 以一变二:数据增广无中生有&am…

[附源码]Node.js计算机毕业设计电影院订票管理系统Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

腾讯云年终:云服务器CVM、轻量应用服务器、GPU服务器价格表出炉!

腾讯云年终:云服务器CVM、轻量应用服务器、GPU服务器价格表出炉!小编来详细说下腾讯云年末限时回馈优惠活动云服务器配置及精准报价。 一、轻量应用服务器配置及优惠价格表 先说轻量应用服务器吧,因为轻量服务器太便宜了,轻量应用…

2022年山东最新交安安全员考试模拟题及答案

百分百题库提供交安安全员考试试题、交安安全员考试真题、交安安全员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 1.根据《建筑工程安全生产管理条例》,意外伤害保险费由施工单位支付。实行施工总承包的&…

C++四种强制类型转换

四种强制类型转换🏞️1. C语言中的类型转换🍁2. 为什么C需要四种类型转换🌠3. C强制类型转换📖3.1 static_cast📖3.2 reinterpret_cast📖3.3 const_cast📖3.4 dynamic_cast🌁4. RTTI…

JAVA毕业设计——基于Springboot+vue的疫情物资管理系统(源代码+数据库)

github代码地址 https://github.com/ynwynw/yiqingMaterial-public 毕业设计所有选题地址 https://github.com/ynwynw/allProject 基于Springbootvue的疫情物资管理系统(源代码数据库)047 一、系统介绍 本项目分为管理员与普通用户两种角色 管理员角色包含以下功能&#xf…

安全智能分析 技术背景

安全数据资产 统一管理DataOps,即 Data 和 Operations 的集成,于 2014 年首次提出。Gartner 将 DataOps 定义为“一种协作性的数据管理 实践,专注于改进组织内数据管道的通信、集成和自动化”[7]。DataOps 是一种面向流程的自动化方法&#x…

Linux安装多版本jdk(jdk8和jdk11)并可随意选择版本

一、官网下载不同版本的压缩包 官网下载地址 我这里下载的是jdk8和jdk11 二、将压缩包上传至服务器自定义的文件夹中 三、安装jdk8 1、解压压缩包 tar zxvf /install/java/jdk-8u202-linux-x64.tar.gz2、修改配置 vi /etc/profile在配置文件中添加以下配置(需修改成自己的…

购物车系统设计

1 主要功能 在用户选购商品时,下单前,暂存用户想购买的商品。 购物车对数据可靠性要求不高,性能也无特别要求,在整个电商系统是相对容易设计和实现的一个子系统。 购物车系统的主要功能: 把商品加入购物车&#xf…

3个月前被裁员了,心情跌落谷底,直到学姐给了我这份面试文档…

3个月前的某一天,正在愉快的打工,突然被喊去谈话,然后就被辞退了。。 加入了找工作的大军 然而,因为疫情,因为大专学历的我,找工作比以往都艰难了许多 很多,纯粹就是因为学历,都不…

如何在SpringBoot中异步请求和异步调用

一、SpringBoot中异步请求的使用 1、异步请求与同步请求 特点: 可以先释放容器分配给请求的线程与相关资源,减轻系统负担,释放了容器所分配线程的请求,其响应将被延后,可以在耗时处理完成(例如长时间的运…

Python运维之远程登录paramiko(VsCode)

Python运维之远程登录----paramiko paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。 par…

CentOS7中搭建docker

一、配置要求 系统:Centos7 Linux 内核:官方建议 3.10 以上 1.查看当前的内核版本 uname -r 2.卸载旧版本(如果之前安装过的话) yum remove docker docker-common docker-selinux docker-engine 二、安装Docker 1.安装依赖包 …

【C进阶】第十篇——数据在内存中的存储

数据类型的介绍 类型的基本归类 整型在内存中的存储 原码,反码,补码 大小端介绍 什么是大小端 为什么有大端和小端? 判断当前机器的字节序 浮点型在内存中的存储 例题引入 浮点数的存 浮点数的取 浮点数的比较 数据类型的介绍 char //字符数据类型 short…

现代制造技术产品设计与柔性制造系统的预测和分析

产品设计要求的市场竞争是面向市场,以用户为中心。精益设计的工业设计方法,以及一系列新的设计概念,如制造、装配过程、检查和测量、环境中的绿色设计等,使设计与柔性制造系统的整个过程紧密结合,包括从产品概念设计到…

Flask全栈开发教程

Flask全栈开发教程 成为使用 Flask、Python、HTML、CSS 和 MongoDB 的全栈 Web 开发人员! 课程英文名:Web Developer Bootcamp with Flask and Python 此视频教程共5.0小时,中英双语字幕,画质清晰无水印,源码附件全…

[前端]白屏性能优化

[前端]白屏性能优化 业务面会问的东西 从打开一个页面,到页面的画面展示经历了怎样的过程? 简单来说,有以下几个主要步骤。 1、URL解析:判断浏览器输入的是搜索内容还是URL; 2、查找缓存:如果能找到缓存…