zoukankan      html  css  js  c++  java
  • spring源码阅读(一)

    spring的整体架构

    架构图:

    这些模块可以分为以下几个部分:

    • core container

    core container 包括 core beans EL context
    core 和 beans 模块是框架的基础部分,提供 IOC 控制反转 和依赖注入的特性。

    • core模块中包含spring框架的基本核心类,其他组件部分都要用到它。

    • beans模块是很多组件都要用到的,它包括访问配置文件。创建和管理bean 以及进行 IOC/DI的操作相关的类

    • context模块构建以core和beans模块之上,一个类似一个jndi(Java Naming and Directory Interface,Java命名和目录接口)注册器的框架式的对象访问方法。context继承了beans的特性提供了很多其他的拓展:国际化、事件传播、资源加载、对context透明创建的支持。context也支持一些javaEE的一些属性。EJB、JMX、基础的远程处理。ApplicationContext是Context模块的关键。

    • Expression Language 模块提供了一个强大的表达式语言用于运行时查询和操纵对象。它是jsp2.10规范的unifed Expression Language的一个扩展。该语言支持 设置、获取属性的值、属性的分配、方法的调用 、访问数组上下文、容器和索引器、逻辑和算术运算符、命名变量、已经从spring的IOC容器中根据名称检索对象、它也支持list投影、选择、和一般的list聚合。
    • Data Access/integration

    该层包含 JDBC ORM OXM JMS Transactions


    • jdbc 模块包含一个jdbc 抽象层,可以消除冗长的jdbc编码、错误处理,该模块包含了对jdbc封装的所有类

    • ORM 为流行的orm框架 mybatis、hibernate、jpa 提供了一个交互层。

    • OXM 提供对object/xml映射的实现的抽象层。实现有:Xstream

    • JMS java消息服务 生产者-消费者

    • Transaction 事务管理
    • web

    web上下文模块建立在应用程序上下文模块之上,为基于web的应用程序提供上下文。web模块还简化了参数绑定到域对象等工作。web层包括:Web、Web-servlet、web-struts、web-porlet模块


    • web模块:提供了基础的面向web的集成特性。 包括文件上传、Servlet listener来初始化IOC容器以及面向web的上下文。

    • web-servlet模块:包含了 spring的mvc的实现

    • web-struts模块: 对struts的支持 在spring 3.0 中以及过时

    • web-porlet模块:结合spring-servlet做spring mvc的
    • AOP

    面向切面编程。


    • Aspects:对AspectJ集成的支持

    • instrumentation :提供class instrumentation 支持和classloader的实现。使得可以在特定的应用服务上使用。
    • Test

    支持Junit 和 TestNG 组件进行测试。

  • 相关阅读:
    HDU4777 Rabbit Kingdom
    HDU6200 mustedge mustedge mustedge
    HDU6187 Destroy Walls
    最长公共上升子序列的学习
    关于约瑟夫问题的学习
    洛谷1602 Sramoc问题
    HDU2089 不要62
    poj3532 Round Numbers
    洛谷1014 Cantor表
    花盆Flowerpot[USACO12MAR]
  • 原文地址:https://www.cnblogs.com/joeCqupt/p/6828228.html
Copyright © 2011-2022 走看看