spring 笔记

spring mvc

  • 提供了@RequestMappingproduces和consumes属性,用于匹配请求中的Accept和Content-Type头部信息;
  • 提供了@RequestPart注解,用于将multipart请求中的某些部分绑定到处理器的方法参数中;
  • @ControllerAdvice注解能够将通用的@ExceptionHandler、@ InitBinder和@ModelAttributes方法收集到一个类中,并应用到所有控制器上;
  • @DateTimeFormat
  • @Controller是一个构造型(stereotype)的注解,它基于@Component注解。在这里,它的目的就是辅助实现组件扫描。因为HomeController带有@Controller注解,因此组件扫描器会自动找到HomeController,并将其声明为Spring应用上下文中的一个bean。其实,你也可以让HomeController带有@Component注解,它所实现的效果是一样的,但是在表意性上可能会差一些,无法确定HomeController是什么组件类型。
  • @ResponseStatus注解:将异常映射为特定的状态码
  • 方法上添加了@ExceptionHandler注解,当抛出DuplicateSpittleException异常的时候,将会委托该方法来处理。它返回的是一个String,这与处理请求的方法是一致的,指定了要渲染的逻辑视图名
  • 控制器通知(controller advice)是任意带有@ControllerAdvice注解的类,这个类会包含一个或多个如下类型的方法:
  • @ExceptionHandler注解标注的方法;
  • @InitBinder注解标注的方法;
  • @ModelAttribute注解标注的方法。
  • 在带有@ControllerAdvice注解的类中,以上所述的这些方法会运用到整个应用程序所有控制器中带有@RequestMapping注解的方法上。
  • @ControllerAdvice注解本身已经使用了@Component,因此@ControllerAdvice注解所标注的类将会自动被组件扫描获取到,就像带有@Component注解的类一样。
  • @ControllerAdvice最为实用的一个场景就是将所有的@ExceptionHandler方法收集到一个类中,这样所有控制器的异常就能在一个地方进行一致的处理。
  • 例如,我们想将DuplicateSpittleException的处理方法用到整个应用程序的所有控制器上。如下的程序清单展现的AppWideExceptionHandler就能完成这一任务,这是一个带有@ControllerAdvice注解的类。
  • redirect: 和 forward 前缀

spring security

  • @EnableWebSecurity
  • @EnableWebMvcSecurity注解还配置了一个Spring MVC参数解析解析器(argument resolver),这样的话处理器方法就能够通过带有@AuthenticationPrincipal注解的参数获得认证用户的principal(或username)。它同时还配置了一个bean,在使用Spring表单绑定标签库来定义表单时,这个bean会自动添加一个隐藏的跨站请求伪造(cross-site request forgery,CSRF)token输入域。
  • 我们可以通过重载WebSecurityConfigurerAdapter的三个configure()方法来配置Web安全性,这个过程中会使用传递进来的参数设置行为

方法 | 说明

spring 异步消息 (Java Message Service)

  • 在异步消息中有两个主要的概念:消息代理(message broker)和目的地(destination)。当一个应用发送消息时,会将消息交给一个消息代理。消息代理实际上类似于邮局。消息代理可以确保消息被投递到指定的目的地,同时解放发送者,使其能够继续进行其他的业务。
  • 消息有两种通用的目的地:
  • 队列(queue)和主题(topic)。
  • 每种类型都与特定的消息模型相关联,分别是点对点模型(队列)和发布/订阅模型(主题)。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LanceToBigData

struts2(五)之struts2拦截器与自定义拦截器

  前面介绍了struts2的输入验证,如果让我自己选的话,肯定是选择xml配置校验的方法,因为,能使用struts2中的一些校验规则,就无需自己编写了,

461
来自专栏闻道于事

JFinal极速开发框架使用笔记(四) _JFinalDemoGenerator实体类生成及映射自动化

运行_JFinalDemoGenerator生成实体类和映射之前的项目结构: ? 运行之后: ? 生成和改变的文件: 实体类: package com.wazn...

2655
来自专栏java学习

一个简单的Ajax功能(用到Jquery与Json)

功能介绍:就是页面已加载完成就通过ajax异步访问服务器然后去局部刷新页面(也就是给从服务器获取的值存在页面的下拉框中显示如下图:) 效果图: ? 提...

2746
来自专栏Android机器圈

Android框架之Volley与Glide

1606
来自专栏JackieZheng

学习SpringMVC——如何获取请求参数

  @RequestParam,你一定见过;@PathVariable,你肯定也知道;@QueryParam,你怎么会不晓得?!还有你熟悉的他(@CookieV...

2215
来自专栏Java帮帮-微信公众号-技术文章全总结

SpringMVC学习第一天

SpringMVC JavaEE体系 结构 ? 什么 是mvc? 原始的mvc: ? Mvc: ? 什么 springmvc? Springmvc是一个web层...

2638
来自专栏Flutter&Dart

DartVM服务器开发(第六天)--利用注解处理请求

下面,如果你跟着仔细操作,你将学会如何使用注解,使用反射获取注解、通过反射调用方法。

662
来自专栏李家的小酒馆

struts2面试整理

struts2的工作原理 客户端发送请求 经过一系列的过滤器 FilterDispatcher通过ActionMapper来决定这个REquest需要调用的Ac...

1790
来自专栏分享达人秀

Activity任务栈和启动模式

通过前面的学习,Activity的基本使用都已掌握,接下来一起来学习更高级的一些内容。 Android采用任务栈(Task)的方式来管理Act...

1796
来自专栏郭耀华‘s Blog

Android 安全退出应用程序的方法总结

正常关闭应用程序: 当应用不再使用时,通常需要关闭应用,可以使用以下三种方法关闭android应用: 第一种方法:首先获取当前进程的id,然后杀死该进程。 an...

2656

扫描关注云+社区