@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
分享到:
相关推荐
- 这个文件名可能代表了一个示例项目,它可能包含了各种Spring MVC注解的实例,用于演示如何使用Spring MVC进行Web开发,包括异步请求的处理和错误管理策略。 总的来说,这个压缩包提供了学习和实践Spring MVC注解...
本教程将深入讲解Spring的注解方式,这对于初学者来说是一份宝贵的资源,能帮助快速掌握Spring的核心概念。 在Spring框架中,注解的引入大大简化了XML配置,使得代码更加简洁、易读。以下是一些关键的Spring注解: ...
在Spring MVC 3.2版本中,`@ControllerAdvice`注解的引入极大地简化了全局异常处理的实现。 `@ControllerAdvice`注解是Spring 3.2版本后提供的一种机制,允许开发者在一个全局范围内对Controller层进行增强处理。...
基于Spring+SpringMVC+Hibernate的全注解开发,允许开发者摆脱传统的XML配置文件,转而使用注解来实现组件的配置,大大简化了开发流程,提高了开发效率。 **Spring框架** 是一个全面的后端应用管理框架,它提供了...
如果有多个控制器需要共享相同的处理逻辑,可以使用@ControllerAdvice注解创建一个全局的控制器增强器,比如异常处理和数据绑定错误处理。 总的来说,Spring 3.0的注解特性使得Spring MVC框架更加灵活且易于使用,...
Spring MVC允许我们使用@ControllerAdvice和@ExceptionHandler注解定义全局的异常处理器。这样,任何Controller中抛出的异常都可以被统一捕获和处理。 6. **验证** 使用JSR-303/JSR-349提供的@NotNull、@Size等...
例如,我们可以定义一个ExceptionHandle类,使用@ControllerAdvice注解来标记该类,然后使用@ExceptionHandler注解来捕获RuntimeException异常。在handle方法中,我们可以根据异常信息返回相应的错误信息。 在 ...
总结来说,这篇学习手札深入浅出地介绍了Spring MVC控制层中常用的注解及其用法,帮助开发者更好地理解和运用Spring MVC,提升开发效率,减少代码复杂性。通过这些注解,我们可以构建出更加灵活、可维护的Web应用...
首先,`@Bean`注解用于标记在`@Configuration`或`@Component`注解的类中的方法,该方法的返回值会被Spring容器作为Bean管理。这意味着,当你调用这个带有`@Bean`的方法时,Spring会执行该方法并将返回的对象实例化并...
同时,我们需要配置一个Spring配置文件,声明数据源、事务管理器以及Hibernate的SessionFactory,并使用@EnableWebMvc、@ComponentScan等注解启动Spring MVC和扫描注解的组件。 在实际项目中,通常会使用Spring的...
标题 "Spring+DWR 全注解版" 暗示了这个压缩包包含了一个使用Spring框架和Direct Web Remoting (DWR) 技术的示例应用,且该应用主要依赖注解来配置和管理组件。DWR是一种在Web应用程序中实现AJAX功能的开源库,它...
在本文中,我们将深入探讨Spring MVC框架中注解的使用,特别关注如何通过注解实现一个实际的应用实例。Spring框架以其强大的依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP...
然而,通过使用注解,我们可以直接在类和方法级别声明这些组件,大大减少了配置文件的复杂性。例如,`@Controller`、`@Service` 和 `@Repository` 注解分别用于标记控制器、业务逻辑和服务接口类。 2. **@...
这些注解可以直接应用于Java Bean的字段上,也可以在Spring MVC的控制器方法参数上使用。 1. **基本验证注解** - `@NotNull`: 检查值是否为null。 - `@NotEmpty`: 检查字符串、集合或数组是否为空。 - `@...
Spring MVC允许我们使用@ControllerAdvice和@ExceptionHandler注解定义全局的异常处理器,从而统一处理应用程序中抛出的异常。 总之,Spring MVC提供了一套灵活且强大的Web开发框架,通过注解简化了配置,使得...
当一个控制器方法接收这个注解的参数时,Spring会自动调用相应的Validator来执行验证。例如,假设我们有一个User类,其中包含必填字段: ```java public class User { @NotBlank(message = "用户名不能为空") ...
本文将深入探讨Spring与MyBatis结合时的注解配置及使用方法。 一、Spring的注解驱动 1. @Configuration:标记一个类为配置类,替代传统的XML配置文件,允许在类中声明bean定义。 2. @ComponentScan:扫描指定包...
6. **异常处理**:使用@ControllerAdvice和@ExceptionHandler注解可以全局处理异常,提高代码的可维护性。 为了快速入门,我们可以创建一个基于Maven的Web应用项目,选择Java EE 5.0的Webapp模板。在pom.xml文件中...
Spring注解开发是Spring框架的一个重要特性,它使得开发者能够摆脱XML配置,更加简洁地进行应用程序的构建。本文将深入探讨Spring注解以及相关的源码分析,包括Spring MVC的部分。 首先,让我们了解Spring中的核心...
Spring MVC提供异常处理注解,如@ControllerAdvice和@ExceptionHandler,以及数据校验注解,如@NotNull、@Size等。 总结,基于注解的Spring MVC简化了Web应用的开发,通过注解可以快速地定义路由、数据绑定、事务...