`
zx_code
  • 浏览: 98976 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

spring的ControllerAdvice注解用法

 
阅读更多
@ControllerAdvice注解一般用作处理系统error,拦截出错信息,返回报错提示界面,防止用户看到一推出错信息!

talk is cheap,show me the code,如下:

import org.springframework.ui.Model;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.context.request.NativeWebRequest;

/** 
 * 1、通过@ControllerAdvice注解可以将对于控制器的全局配置放在同一个位置。
 * 2、注解了@Controller的类的方法可以使用@ExceptionHandler、@InitBinder、@ModelAttribute注解到方法上。
 * 3、@ControllerAdvice注解将作用在所有注解了@RequestMapping的控制器的方法上。
 * 4、@ExceptionHandler:用于全局处理控制器里的异常。
 * 5、@InitBinder:用来设置WebDataBinder,用于自动绑定前台请求参数到Model中。
 * 6、@ModelAttribute:本来作用是绑定键值对到Model中,此处让全局的@RequestMapping都能获得在此处设置的键值对
 * 
 * @author zx
 * @date 2017-03-10
 */
@ControllerAdvice
public class GlobalControllerInterceptor 
{
	@ModelAttribute
	//应用到所有@RequestMapping注解方法
	//此处将键值对添加到全局,注解了@RequestMapping的方法都可以获得此键值对
    public void addUser(Model model) { 
		model.addAttribute("msg", "此处将键值对添加到全局,注解了@RequestMapping的方法都可以获得此键值对");
    }  
  
    @InitBinder  
    //应用到所有@RequestMapping注解方法,在其执行之前初始化数据绑定器
    //用来设置WebDataBinder,用于自动绑定前台请求参数到Model中。
    public void initBinder(WebDataBinder binder) {  
    }  
  
    @ExceptionHandler(Exception.class)  
    //应用到所有@RequestMapping注解的方法,在其抛出Exception异常时执行
    //定义全局异常处理,value属性可以过滤拦截条件,此处拦截所有的Exception
    public String processUnauthenticatedException(NativeWebRequest request, Exception e) {  
        return "error"; //返回一个逻辑视图名  
    }  
}


项目地址:https://github.com/zhangxia1030/spring-boot-example
0
0
分享到:
评论

相关推荐

    最全的Spring MVC注解例子,异步请求,错误处理

    - 这个文件名可能代表了一个示例项目,它可能包含了各种Spring MVC注解的实例,用于演示如何使用Spring MVC进行Web开发,包括异步请求的处理和错误管理策略。 总的来说,这个压缩包提供了学习和实践Spring MVC注解...

    spring的注解方式

    本教程将深入讲解Spring的注解方式,这对于初学者来说是一份宝贵的资源,能帮助快速掌握Spring的核心概念。 在Spring框架中,注解的引入大大简化了XML配置,使得代码更加简洁、易读。以下是一些关键的Spring注解: ...

    ControllerAdvice spring mvc 3.2 错误统一控制

    在Spring MVC 3.2版本中,`@ControllerAdvice`注解的引入极大地简化了全局异常处理的实现。 `@ControllerAdvice`注解是Spring 3.2版本后提供的一种机制,允许开发者在一个全局范围内对Controller层进行增强处理。...

    基于spring+springmvc+hibernate的全注解开发

    基于Spring+SpringMVC+Hibernate的全注解开发,允许开发者摆脱传统的XML配置文件,转而使用注解来实现组件的配置,大大简化了开发流程,提高了开发效率。 **Spring框架** 是一个全面的后端应用管理框架,它提供了...

    spring3.0注解

    如果有多个控制器需要共享相同的处理逻辑,可以使用@ControllerAdvice注解创建一个全局的控制器增强器,比如异常处理和数据绑定错误处理。 总的来说,Spring 3.0的注解特性使得Spring MVC框架更加灵活且易于使用,...

    Spring MVC 使用注解的示例讲解

    Spring MVC允许我们使用@ControllerAdvice和@ExceptionHandler注解定义全局的异常处理器。这样,任何Controller中抛出的异常都可以被统一捕获和处理。 6. **验证** 使用JSR-303/JSR-349提供的@NotNull、@Size等...

    如何优雅的抛出Spring Boot注解的异常详解

    例如,我们可以定义一个ExceptionHandle类,使用@ControllerAdvice注解来标记该类,然后使用@ExceptionHandler注解来捕获RuntimeException异常。在handle方法中,我们可以根据异常信息返回相应的错误信息。 在 ...

    Spring 注解学习手札(二) 控制层梳理

    总结来说,这篇学习手札深入浅出地介绍了Spring MVC控制层中常用的注解及其用法,帮助开发者更好地理解和运用Spring MVC,提升开发效率,减少代码复杂性。通过这些注解,我们可以构建出更加灵活、可维护的Web应用...

    1.spring注解1

    首先,`@Bean`注解用于标记在`@Configuration`或`@Component`注解的类中的方法,该方法的返回值会被Spring容器作为Bean管理。这意味着,当你调用这个带有`@Bean`的方法时,Spring会执行该方法并将返回的对象实例化并...

    spring mvc + spring + hibernate 全注解整合开发视频教程 07

    同时,我们需要配置一个Spring配置文件,声明数据源、事务管理器以及Hibernate的SessionFactory,并使用@EnableWebMvc、@ComponentScan等注解启动Spring MVC和扫描注解的组件。 在实际项目中,通常会使用Spring的...

    Spring+DWR 全注解版

    标题 "Spring+DWR 全注解版" 暗示了这个压缩包包含了一个使用Spring框架和Direct Web Remoting (DWR) 技术的示例应用,且该应用主要依赖注解来配置和管理组件。DWR是一种在Web应用程序中实现AJAX功能的开源库,它...

    spring+mvc注解的实现实例

    在本文中,我们将深入探讨Spring MVC框架中注解的使用,特别关注如何通过注解实现一个实际的应用实例。Spring框架以其强大的依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP...

    Spring@mvc.rar_java 注解_spring mvc

    然而,通过使用注解,我们可以直接在类和方法级别声明这些组件,大大减少了配置文件的复杂性。例如,`@Controller`、`@Service` 和 `@Repository` 注解分别用于标记控制器、业务逻辑和服务接口类。 2. **@...

    springmvc注解验证

    这些注解可以直接应用于Java Bean的字段上,也可以在Spring MVC的控制器方法参数上使用。 1. **基本验证注解** - `@NotNull`: 检查值是否为null。 - `@NotEmpty`: 检查字符串、集合或数组是否为空。 - `@...

    spring3 mvc系列一:架构基本配置(注解版)

    Spring MVC允许我们使用@ControllerAdvice和@ExceptionHandler注解定义全局的异常处理器,从而统一处理应用程序中抛出的异常。 总之,Spring MVC提供了一套灵活且强大的Web开发框架,通过注解简化了配置,使得...

    validated和valid校验注解用法示例代码

    当一个控制器方法接收这个注解的参数时,Spring会自动调用相应的Validator来执行验证。例如,假设我们有一个User类,其中包含必填字段: ```java public class User { @NotBlank(message = "用户名不能为空") ...

    spring-注解mybatis.7z

    本文将深入探讨Spring与MyBatis结合时的注解配置及使用方法。 一、Spring的注解驱动 1. @Configuration:标记一个类为配置类,替代传统的XML配置文件,允许在类中声明bean定义。 2. @ComponentScan:扫描指定包...

    基于注解的spring_3.0.x_MVC学习笔记

    6. **异常处理**:使用@ControllerAdvice和@ExceptionHandler注解可以全局处理异常,提高代码的可维护性。 为了快速入门,我们可以创建一个基于Maven的Web应用项目,选择Java EE 5.0的Webapp模板。在pom.xml文件中...

    springAnnotation.zip

    Spring注解开发是Spring框架的一个重要特性,它使得开发者能够摆脱XML配置,更加简洁地进行应用程序的构建。本文将深入探讨Spring注解以及相关的源码分析,包括Spring MVC的部分。 首先,让我们了解Spring中的核心...

    基于注解的Spring mvc增删改DEMO

    Spring MVC提供异常处理注解,如@ControllerAdvice和@ExceptionHandler,以及数据校验注解,如@NotNull、@Size等。 总结,基于注解的Spring MVC简化了Web应用的开发,通过注解可以快速地定义路由、数据绑定、事务...

Global site tag (gtag.js) - Google Analytics