zoukankan      html  css  js  c++  java
  • Chapter Four

    JSON数据

    默认情况下,当开发者新创建一个SpringBoot项目时,会添加Web依赖,在这个依赖中会默认加入jackson-databind作为Json处理器。

    @RestController

    组合注解,等于@Controller和ResponseBody

    (但是,两个注解是返回页面,一个是返回Json)

    静态资源

    SpringBoot中对于SpringMVC的自动化配置都在WebMvcAutoConfiguration类中,开发者使用IntelliJ IDEA创建SpringBoot项目,就会默认创建static目录,静态资源一般放在这个目录下即可。

    @ControllerAdvice

    是@Controller的加强版,主要用来处理全局数据。

    例子:文件上传大小超过限制的异常处理

    在系统中定义CustomExceptionHandler类,然后添加@ControllerAdvice注解即可。当系统启动时,该类就会被扫描到Spring容器中

    然后定义uploadException方法,在该方法上面添加@ExceptionHandler注解,其中定义的MaxUploadSizeExceededException.class表明该方法用来处理MaxUploadSizeExceededException类型的异常。如果想让该方法处理所有类型的异常,只需将MaxUploadSizeExceedeException改为Exception

    方法的参数可以有异常实例、HttpServletResponse以及HttpServletRequest、Model等,返回值可以是一段Json、一个ModelAndView、一个逻辑视图等

    CORS支持

    CORS(Cross-Origin Resource Sharing) 是由W3C制定的一种跨域资源共享技术标准,其目的就是为了解决前端的跨域请求。在JavaEE中,最常见的前端跨域请求解决方案是JSONP,但是JSONP只支持GET请求,这是一个很大的缺陷,而CORS则支持多种HTTP请求方法。

    跨域配置:

     

     注册拦截器

    拦截器中的方法将按照preHandle->Controller->postHandle->afterCompletion的顺序执行,只有preHandle方法返回true时后面的方法才会执行,当拦截器链中存在多个拦截器时,postHandler在所有拦截器返回成功时才会调用,即若拦截器链中的第一个拦截器的preHandle方法返回false,则后面的方法都不会执行。

    面向切面编程(AOP)

    在系统运行时动态添加代码的方式成为面向切面编程。

    常见概念:

    Joinpoint(连接点):类里面可以被增强的方法即为连接点。例如,想修改哪个方法的功能,那么该方法就是一个连接点。

    Pointcut(切入点):对Joinpoint进行拦截的定义即为切入点。例如,拦截所有以insert开始的方法,这个定义即为切入点。

    Advice(通知):拦截到Joinpoint之后所要做的事情就是通知。例如,打印日志监控,通知分为前置通知、后置通知、异常通知、最终通知和环绕通知。

    Aspect(切面):Pointcut和Advice结合。

    Target(目标对象):要增强的类称为Target

     

  • 相关阅读:
    GridView多行表头合并
    Android开发一 什么是3G
    SQL 日期格式 问题
    ASP.NET中TextBox控件设置ReadOnly="true"后台取不到值
    服务器维护:FTP无法连接
    Android开发之旅:应用程序基础及组件
    Failed to create the Java Virtual Machine
    Android开发七 Android中的显示单位
    Excel 数据有效性,怎么提示指定的命名区域不存在?
    Android开发三 如何安装 Android SDK 和Eclipse 插件
  • 原文地址:https://www.cnblogs.com/lick468/p/11372206.html
Copyright © 2011-2022 走看看