zoukankan      html  css  js  c++  java
  • spring 基础

    1. spring-mvc

      

     上边的图相信大家都熟悉

      DispatchServlet 内 默认会有

       BeanNameUrlHandlerMapping :通过对比url和bean的name找到对应的对象

      SimpleUrlHandlerMapping         :也是直接配置url和对应bean,比BeanNameUrlHandlerMapping功能更多

      RequestMappingHandlerMapping :主要是针对注解配置@RequestMapping的,已过时
    ------

      HttpRequestHandlerAdapter :

          要求handler实现HttpRequestHandler接口,该接口的方法为

          void handleRequest(HttpServletRequest request, HttpServletResponse response)

          也就是  handler必须有一个handleRequest方法

      SimpleControllerHandlerAdapter:

          要求handler实现Controller接口,该接口的方法为

          ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)

      RequestMappingHandlerAdapter : 和上面的RequestMappingHandlerMapping配对使用,针对@RequestMapping

      XXX HandlerInterceptor : 拦截器 

      XML初始化 mvc: intercepter

    有一种 和拦截器 特别想的东西 叫,切面。

      AOP:

        Spring AOP 无需使用任何特殊命令对 Java 源代码进行编译,它采用运行时动态地、在内存中临时生成“代理类”的方式来生成 AOP 代理。

        Spring 允许使用 AspectJ Annotation 用于定义方面(Aspect)、切入点(Pointcut)和增强处理(Advice),

      <!-- 启动 @AspectJ 支持 -->
      <bean class="org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator"/>
     Spring AOP默认使用标准的JDK动态代理来实现AOP代理。这能使任何借口(或者一组接口)被代理。
     

    Spring AOP也使用CGLIB代理。对于代理classes而非接口这是必要的。如果一个业务对象没有实现任何接口,那么默认会使用CGLIB。由于面向接口而非面向classes编程是一个良好的实践;业务对象通常都会实现一个或者多个业务接口。强制使用CGLIB也是可能的(希望这种情况很少),此时你需要advise的方法没有被定义在接口中,或者你需要向方法中传入一个具体的对象作为代理对象。

    • 关于动态代理和CGLIB这两种方式的简要总结如下:

      • JDK动态代理(Dynamic Proxy)

        • 基于标准JDK的动态代理功能
        • 只针对实现了接口的业务对象
      • CGLIB

        • 当业务对象没有实现任何接口的时候默认会选择CGLIB

     IOC:

     

    BeanFactory 是基础设施 对Spring内, ApplicationContext 程序上下文, 对开发者

      

  • 相关阅读:
    java.io.FileNotFoundException: D:workspacegbrmWebRoot空缺职位列表20140414093026.xls (系统找不到指定的路径。)
    select * from (select t.*,rownum as rowno from (select * from j_kqzw where 1=1 and DEADLINE >='2013-04-14' and DEADLINE <='2014-04-14' ) t)where rown
    hibernate的映射文件字段长度和数据库里面的字段长度
    八门神器
    计算机
    c语言
    捕鱼达人
    桂林力港网络科技有限公司
    cocos2d-x
    3gp 编辑
  • 原文地址:https://www.cnblogs.com/shuly/p/8513473.html
Copyright © 2011-2022 走看看