Spring 对Ajax的支持

SpringMyBatis第九天        2018/7/13
==========================================
1.Spring对Ajax支持
    为了便于接收和处理Ajax请求,SpringMVC提供JSON响应支持,
    可以很方便地将数据自动转换成JSON格式字符串给客户端JS
    
    在SpringMVC中,与JSON响应相关的注解@ResponseBody
    
    @ResponseBody注解主要用于Controller组件的处理方法前,具
    体操作如下:
    
    1)引入jackson开发包,示例代码采用的是
        jackson-annotation-2.4.1.jar
        jackson-core-2.4.1.jar
        jackson-databind-2.4.1.jar

    2)在Spring配置文件中定义<mvc:annotation-driven/>,开启
        对@ResponseBody注解的支持,在Controller处理方法前定
        义@ResponseBody注解
        
2.Spring AOP    
    
    AOP为Aspect Oriented Programming的缩写,被称为面向切面
    编程,AOP主要用于处理共通逻辑,例如:日志记录,安全控制,
    事务管理,异常处理等等,AOP可以将这些共通逻辑从普通业务
    逻辑代码中分离出来,在以后修改这些共通逻辑时就不会影响普通
    业务逻辑

    利用AOP可以针对业务逻辑的各个部分进行隔离,从而使得业务逻
    辑各个部分之间的耦合度降低,提高程序的可重用性,同时提高开
    发效率

    AOP,OOP在字面上虽然非常相似,但却是不同领域的两种设计思想
        
    OOP(面向对象编程)针对业务处理过程中实体的属性和行为进行
    抽象封装,以获得更加清晰高效的逻辑单元划分

    AOP(面向切面编程)针对业务处理过程中的切面进行提取,它面
    对是处理过程中的某个步骤或阶段,以获得逻辑过程中各个部分之
    间低耦合的隔离效果

    AOP需要以OOP为前提和基础

    什么是切面
    切面是指封装共通逻辑的组件,此组件被作用到目标组件的方法上

    什么是目标
    目标是被一个或多个切面所作用的对象

    什么是切入点
    切入点是用于指定哪些目标组件的方法使用切面功能
    在Spring中利用一个表达式指定切入点
    
    Spring提供以下常用的切入点表达式
    1)方法限定表达式
        execution(修饰符?返回类型 方法名(参数?) throws 异常类型?)
        
    2)类型限定表达式
        within(包名.类型)

    3)Bean名称限定表达式    
        bean("Bean的ID或name属性值")

    什么是通知
    通知是用于指定切面组件和目标组件作用的时机,例如:切面方法
    在目标方法之前或之后执行等时机

    Spring框架提供以下类型通知:
    前置通知:先执行切面功能再执行目标功能
    后置通知:先执行目标功能再执行切面功能(目标无异常才执行切
                    面功能)
    最终通知:先执行目标功能再执行切面功能(目标有无异常都执行
                    切面功能)
    异常通知:先执行目标功能,抛出异常后执行切面功能
    环绕通知:先执行切面的前置部分,然后执行目标,最后执行切面
                    的后置部分
                    
    AOP实现原理
    Spring AOP实现主要是基于动态代理技术,当Spring采用AOP配
    置后,Spring容器返回的目标对象实质上是Spring利用动态代理技
    术生成的一个代理类型,代理类重写了原目标组件方法的功能,在
    代理类中调用切面对象功能和目标对象的功能

    Spring框架采用两种动态代理实现:
    1)利用cglib工具包
        目标没有提供接口时采用此方法,代理类是利用继承方式生成一
        个目标子类
        
    2)利用JDK Proxy API
        目标有提供接口时采用此方法,代理类是采用实现目标接口方式
        生成一个目标子类
        
3.XML配置实现AOP
    
    开发步骤:
    1)创建一个类,充当切面组件,实现共通逻辑
    2)声明切面组件(在配置文件中)
    3)使用切面组件,在配置文件中,将切面组件作用到目标组件方
        法    上,设置通知类型以确认切面组件调用的时机

4.注解实现AOP

    开发步骤:
    1)创建切面组件
    2)声明切面组件    
        -在配置文件中开启AOP注解扫描
        <aop:aspectj-autoproxy/>
        -使用@Component注解标记标识这个类,将其声明为组件
        -使用@Aspect注解标记标识这个类,将其声明为切面组件
    3)使用切面组件
        -在切面组件的方法上,使用注解将切面组件作用到目标组件的
        方法上,并设置通知类型以确认切面组件作用的时机

            
            
    

            
    
                    

        
        
        
        
        
        
        
        
        
        

        

猜你喜欢

转载自blog.csdn.net/little_____white/article/details/81072017