当前位置: 首页 > news >正文

软件综合课设做网站东阳畅销自适应网站建设

软件综合课设做网站,东阳畅销自适应网站建设,互联网技术服务,陵水网站设计公司ControllerAdvice介绍 ControllerAdvice 是 Spring 框架提供的一个注解#xff0c;用于定义一个全局的异常处理类或者说是控制器增强类#xff08;controller advice class#xff09;。这个特性特别适用于那些你想应用于整个应用程序中多个控制器的共有行为#xff0c;比…ControllerAdvice介绍 ControllerAdvice 是 Spring 框架提供的一个注解用于定义一个全局的异常处理类或者说是控制器增强类controller advice class。这个特性特别适用于那些你想应用于整个应用程序中多个控制器的共有行为比如全局异常处理、数据绑定、响应处理等。通过使用 ControllerAdvice你可以避免在每个控制器中重复相同的代码从而提高代码的可维护性和整洁性。 ControllerAdvice源码 Target(ElementType.TYPE) Retention(RetentionPolicy.RUNTIME) Documented Component public interface ControllerAdvice {AliasFor(annotation Component.class, attribute value)String name() default ;AliasFor(basePackages)String[] value() default {};AliasFor(value)String[] basePackages() default {};Class?[] basePackageClasses() default {};Class?[] assignableTypes() default {};Class? extends Annotation[] annotations() default {};} 源代码截图 ControllerAdvice属性介绍 name(): 这是一个继承自 Component 的属性默认值为空字符串。可以为 Bean 指定一个名称便于在 Spring 上下文中引用。 value() 和 basePackages()以及它们之间的 AliasFor: 这两个属性是等效的用于指定哪些包下的控制器类应受此 advice 管理。默认值为空数组意味着如果不指定则对所有包的控制器生效。 ControllerAdvice(basePackages {com.chengxuyuan.controller})。 basePackageClasses(): 与指定包名不同这个属性允许通过指定类来确定包的基点。Spring 会查找这些类所在的包及子包下的控制器应用此 advice。 assignableTypes(): 允许你指定一个或多个类类型数组只有继承或实现了这些类的控制器才会受到此 advice 影响。 ControllerAdvice(assignableTypes {DemoCustomController.class})。 annotations(): 虽然你的代码示例中包含了此属性但在 Spring Framework 的实际 ControllerAdvice 定义中并没有直接包含 annotations 属性来基于注解匹配控制器。这个概念可能源自于对 AOP 或其他自定义扩展方式的理解但它不是标准 ControllerAdvice 的一部分。此属性用于说明如果要根据控制器上的特定注解来应用 advice理论上可以通过自定义逻辑来实现 ControllerAdvice注解使用场景 全局异常处理 你可以结合 ExceptionHandler 注解在 ControllerAdvice 标注的类中定义方法来处理特定类型的异常。这些异常处理方法会应用到标记有 RequestMapping 的所有控制器方法上从而实现全局异常处理机制。 模型属性添加 使用 ModelAttribute 注解可以在每次请求处理之前向模型中添加属性。这样你可以在不修改每个控制器方法的情况下为所有或指定包下的控制器添加共享数据。 全局数据绑定和验证 可以通过 InitBinder 方法自定义数据绑定和验证逻辑影响所有控制器中的数据绑定行为。 响应体处理 虽然不直接是 ControllerAdvice 的一部分但结合 ResponseBody 和 ResponseEntity可以用来定制全局的响应体处理逻辑比如统一设置响应头或响应状态码。 特定控制器或包的应用 通过使用 basePackages 或  assignableTypes 属性可以指定 ControllerAdvice 应用于哪些特定的控制器或包下的控制器而不是全局所有。 ControllerAdvice测试示例代码 示例代码 一 ControllerAdvice public class GlobalControllerAdvice {/*** 全局异常处理*/ExceptionHandler(Exception.class)public ModelAndView handleException(Exception ex) {ModelAndView modelAndView new ModelAndView(error);modelAndView.addObject(errorMessage, ex.getMessage());return modelAndView;}/*** 全局数据绑定*/InitBinderpublic void initBinder(WebDataBinder binder) {SimpleDateFormat dateFormat new SimpleDateFormat(yyyy-MM-dd);dateFormat.setLenient(false);binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));}/*** 全局模型属性*/ModelAttribute(appName)public String appName() {return Demo Application;} }
http://www.sczhlp.com/news/264553/

相关文章:

  • 网站上传用什么软件做视频wordpress自定义php文件
  • 网站制作的内容什么好网站一元空间有哪些呀
  • 网页设计模板网站推荐培训前端网站开发
  • 长沙市政务服务中心官网网站页面结构怎么做有利于优化
  • 山西教育学会的网站建设wordpress 数字不连续
  • 广州佛山网站建设地址网站流量团队
  • 中企动力提供网站建设免费建站网站一级大录像不卡在线看
  • 县 两学一做网站wordpress支持伪静态
  • 网站建设花都區平面设计培训班要学多久
  • 精选网站建设让互联网之光点亮生活
  • 网站架构设计英文翻译网站开发对比特点
  • 白城网站建设哪家好wordpress 外观
  • 装修公司网站该怎么做财务公司
  • 广东网站建设需要多少钱wordpress 主题 个人
  • 哪个公司做网站做的网站如何防止怕爬虫
  • 网站制作可能出现的问题做网站的细节
  • wap静态模板网站分析与优化
  • ftp网站怎么建立合肥商城网站建设多少钱
  • 记录一次Prism9隐式注册引发的事件聚合器失效问题
  • 网站域名和邮箱域名解析深圳做网站哪个公司好
  • 中小型网站建设价格网站域名 设置
  • 谷歌网站推广怎么做返利网之类的网站
  • 什么样的网站需要改版wordpress浏览器主题下载
  • 苏州绿叶网站建设苏州做网站比较好的公司
  • 如何备案网站温州网站设计案例
  • 网站设计公司南京2018网站开发最流行的语言
  • 银川网站开发推广企业谷歌官方seo入门指南
  • 网站装修的代码怎么做的外贸客户开发的渠道有哪些
  • 商城网站建设高端广州冼村的人为什么这么有钱
  • 网页制作与网站开发感想我买了一个备案网站 可是公司注销了