Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >场景:当所有的 Controller,都需要传入某个参数,代码如何写?

场景:当所有的 Controller,都需要传入某个参数,代码如何写?

原创
作者头像
水货程序员
发布于 2019-06-11 02:29:40
发布于 2019-06-11 02:29:40
1.4K0
举报
文章被收录于专栏:javathingsjavathings

假设有个场景,每一个 controller 都需要接收一个共同的参数,那么除了在每一个方法中都加入这个参数之外,还有一个方法就是使用@ControllerAdvice 注解。

@ControllerAdvice 参数之前的文章(http://www.javathings.top/springboot 中异常处理/)提到过,用于全局的处理异常。

@ControllerAdvice 和@ModelAttribute 注解配合使用,可以实现全局的 Controller 都接收到同一个 Model。举个例子:

代码语言:java
AI代码解释
复制
package com.xxx.utils;
 
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestParam;
 
@ControllerAdvice("com.xxx.restful")
public class MyControllerAdvice {
 
    @ModelAttribute
    public void processParam(@RequestParam String param) {
 
    	System.out.println("param="+param);
    }
}

MyControllerAdvice 这个类中的 processParam 方法,就实现了处理统一的 param 参数(controller 必须是在 com.xxx.restful 包中的)。

这能大大简化代码的书写,非常有用。

具体是实现和细节,还是自己手动的实现一下,加深印象。

ControllerAdvice 注解的详细文档,参考官方地址:

https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/bind/annotation/ControllerAdvice.html

原创文章,转载请注明出处!http://www.javathings.top/场景:当所有的controller,都需要传入某个参数,代码如/

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Spring Boot统一异常处理
先定义接口返回数据结构,code为0表示操作成功,非0表示异常。其中data只有在处理成功才会返回,其他情况不会返回,或者那些不需要返回数据的接口(更新、删除…)
用户7353950
2022/06/23
5210
Spring Boot统一异常处理
Spring MVC注解Controller源码流程解析--HandlerAdapter执行流程--上
前面已经详细介绍过了RequestMappingHandlerMapping是如何在初始化方法中搜集容器中所有标注了@Controller或者@RequestMapping注解的Bean的,然后解析将映射关系保存到映射中心。
大忽悠爱学习
2023/02/13
8580
Spring MVC注解Controller源码流程解析--HandlerAdapter执行流程--上
SpringCloud-基于Feign远程调用
Spring Cloud是分布式系统的开发工具包,包含多个微服务组件,其中Feign是一款声明式的Web服务客户端,极大简化了在Spring Cloud中进行远程调用的流程。文章将详细介绍如何利用Feign实现更优雅的多参数远程调用,通过Feign的注解和自动化配置,减少了手动拼接URL和请求参数的繁琐工作,提高了代码的清晰度和可维护性。这篇文章旨在帮助开发者更好地利用Spring Cloud中的Feign组件,构建更高效、可扩展的分布式系统。
Damon小智
2024/02/20
5510
SpringCloud-基于Feign远程调用
springmvc 注解总结
转载自 https://www.cnblogs.com/xiaoxi/p/5718894.html
allsmallpig
2021/02/25
5040
_Spring MVC相关注解运用 —— 上篇
但是如果请求路径是: http://localhost:8080/c3/annotation1?username=10
会洗碗的CV工程师
2023/11/18
1650
_Spring MVC相关注解运用 —— 上篇
《Spring实战》摘录 - 14
Q: #7.4-1 | 什么是控制器通知 A: 控制器通知(controller advice)是任意带有@ControllerAdvice注解的类
用户1335799
2019/05/08
3820
《Spring实战》摘录 - 14
史上最强Spring mvc入门
一、SpringMVC基础入门,创建一个HelloWorld程序   1.首先,导入SpringMVC需要的jar包。   2.添加Web.xml配置文件中关于SpringMVC的配置 <!--c
xiangzhihong
2018/02/01
1.4K0
史上最强Spring mvc入门
spring注解
1.注解 @Controller控制器定义     和Struts1一样,Spring的Controller是Singleton的。这就意味着会被多个请求线程共享。因此,我们将控制器设计成无状态类。     在spring 3.0中,通过@controller标注即可将class定义为一个controller类。为使spring能找到定义为controller的bean,需要在spring-context配置文件中增加如下定义: <context:component-scan base-package
Ryan-Miao
2018/03/13
7250
SpringBoot 项目实现
1. 创建模块 springboot-webmvc 2. 添加 maven 依赖,设置打包方式,引入打包插件 <?xml version="1.0" encoding="UTF-8"?> <proje
山海散人
2021/03/03
2630
SpringBoot 项目实现
springboot实战第四章-Spring MVC 基本配置
在前面还有一小节常见注解就不介绍了,在实际项目中会经常用到,很容易理解。在本实例中相关配置内容都在MyMvcConfig类里编写
全栈程序员站长
2021/05/19
6680
抛开深层次底层,快速入门SpringMVC
SpringMVC主要有三个核心部分组成,DispatcherServlet、Controller、ViewResolver。      DispatcherServlet:      请求输入时:类似于一个带分配功能的Filter,其直接与前端交互,并截所有符合 url-pattern 的请求,并根据Mapping路径分发给处理对应请求的Controller。      请求处理完毕时:将ViewResolver渲染好的视图回传给前端。      Controller:      处理Http传来的请求,通常调用Service,再在Service中调用Dao持久层进行完整的数据处理,并将处理完毕的数据返回,返回以ModelAndView的形式,Model,通俗来讲,就是承载数据的一个HashMap,而View则是数据要发送的逻辑视图名,如果View缺省,默认是转发到HTTP发起的页面。      ViewResolver:      根据Controller处理好的数据,对指定目录下的文件进行渲染解析,完毕后将视图(不一定为页面、可能是Joson、Map各种数据类型,这根据Controller回传的数据决定)返回给DispatcherServlet。
Rekent
2018/09/04
5180
抛开深层次底层,快速入门SpringMVC
【SpringMVC】SpringMVC基础-静态资源映射、拦截器配置、@ControllerAdvice与其他基本配置
Spring MVC的定制配置需要我们的配置类继承一个WebMvcConfigurerAdapter类,并在此类使用@EnableWebMvc注解,来开启对Spring MVC的配置支持,这样我们就可以重写这个类的方法,完成我们的常用配置。
谙忆
2021/01/21
5470
【SpringMVC】SpringMVC基础-静态资源映射、拦截器配置、@ControllerAdvice与其他基本配置
捕获AOP级别的异常并将其传递到Controller层
欢迎来到本篇技术博客,今天我们将讨论如何在一个现代的Java应用中,捕获AOP(面向切面编程)级别的异常,并将这些异常传递到Controller层进行合适的处理。异常处理在构建可靠的应用程序中起着关键作用,而AOP则可以帮助我们更好地管理和组织代码。在这篇文章中,我们将深入研究如何结合AOP和异常处理来构建健壮的应用。
疯狂的KK
2023/09/27
1.2K0
捕获AOP级别的异常并将其传递到Controller层
【Spring Boot】027-@ControllerAdvice 与 @RestControllerAdvice
@ControllerAdvice 是 @Controller 的增强版,其主要用来处理全局数据,一般搭配 @ExceptionHandler 、@ModelAttribute 以及 @InitBinder 使用!
訾博ZiBo
2025/01/06
1.4K0
【Spring Boot】027-@ControllerAdvice 与 @RestControllerAdvice
一起来学 SpringBoot 2.x | 第十八篇:轻松搞定全局异常
实际项目开发中,程序往往会发生各式各样的异常情况,特别是身为服务端开发人员的我们,总是不停的编写接口提供给前端调用,分工协作的情况下,避免不了异常的发生,如果直接将错误的信息直接暴露给用户,这样的体验可想而知,且对黑客而言,详细异常信息往往会提供非常大的帮助…
芋道源码
2019/10/29
5010
SpringMVC_总结_03_SpringMVC相关注解
在前面的小节中,我们配置了注解驱动和自动扫描包,然后就可以使用SpringMVC相关注解了。
shirayner
2018/09/20
3850
2个小bug,有点小门道
2017年的某日,小辉(我的同事)遇到了一个bug,解决了一下午还是没有找到,气的摔键盘,骂人,我看在眼里,急在心中。
温安适
2018/04/25
8137
2个小bug,有点小门道
在Spring MVC中使用注解的方式校验RequestParams
概述   Spring MVC支持Bean Validation,通过这个验证技术,可以通过注解方式,很方便的对输入参数进行验证,之前使用的校验方式,都是基于Bean对象的,但是在@RequestParam中,没有Bean对象,这样使得校验无法进行,可以通过使用@Validated注解,使得校验可以进行。 校验bean对象   一般校验bean对象,为了可以自动的校验属性,可以通过两步解决: 一、声明对象 package com.github.yongzhizhan.draftbox.model; imp
庞小明
2018/06/13
1.5K0
SpringMVC学习笔记
(1)通过 contextConfigLocation 来配置 SpringMVC 的配置文件
shirayner
2018/08/10
1.3K0
SpringMVC学习笔记
SpringMVC 后台跳转总结大全
很久不使用了,可以拿代码复制到项目工程下作为Demo随时查看,小白入门开发必备!!!
静谧星空TEL
2021/04/27
7140
相关推荐
Spring Boot统一异常处理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档