zoukankan      html  css  js  c++  java
  • 《Spring源码深度解析》一

    Spring整体架构

    《Spring源码深度解析》一

    1.1 Spring整体架构

    1.1.1 Core Container:

    模块:Core、Beans、Context和Expression Language

    Core:框架的基础部分, 提供IOC 和依赖注入特性。也包含核心工具类。
    基础概念是BeanFactory, 它提供对工厂模式的经典实现来消除对程序性单例模式的需要, 并真正地允许你从程序逻辑中分离出依赖关系和配置。

    Bean:包含访问配置文件、创建和管理bean以及进行IoC/DI操作相关的所有类

    Context:提供了一种类似于JNDI注册器的框架式的对象访问方法
    ApplicationContext接口是Context模块的关键

    Expression Language:提供了表达式语言
    支持设置/获取属性的值,属性的分配,方法的调用,访问数组上下文(accessiong the context of arrays )、 容器和索引器 、逻辑和算术运算符、命名变量以及从Spring的IoC容器中根据名称检索对象 。它也支持list投影、选择和一般的list聚合。

    1.1.2 Data Access/Integration

    模块:JDBC、ORM、OXM、JMS和Transaction

    JDBC:提供了JDBC抽象层

    ORM:提供了交互层,如JPA/JDO/Hibernate/ibatis

    OXM:提供了一个对Object/XML映射实现的抽象层,包括 JAXB、Castor、XMLBeans、JiBX和XStrearn

    JMS:包含一些制造和消费信息和特性

    Transaction:支持编程和声明性的事务管理

    1.1.3 Web

    模块:Web、Web-Servlet、Web-Structs(被弃用)和Web-Porlet

    Web:提供了基础的面向Web的集成特性,如多文件上传、使用servlet listeners初始化IoC容器以及一个面向Web的应用上下文

    Web-Servlet:MVC实现

    Web-Porlet:提供了Porlet和Web-Servlet模块的MVC实现

    1.1.4 AOP

    模块:Aspect、Instrumentaion

    Aspect:提供了对AspectJ的集成支持

    Instrumentaion:提供了class instrumentation支持和classloader实现,使其可以在特定的应用服务器上使用

    1.1.5 Test

    支持使用JUnit和Test'NG对Spring组件进行测试

    1.2 补充:

    AspectJ神仙操作:

    helloWorld示例:

    《Spring源码深度解析》一

    增加事务:

    《Spring源码深度解析》一

    编译:

    《Spring源码深度解析》一

    输出:

    《Spring源码深度解析》一

  • 相关阅读:
    Toast的替代者Snackbar
    SnappyDB—Android上的NoSQL数据库简介
    ButterKnife使用小结
    The following classes could not be found:
    asp.net后台解析JSON,并将值赋给对象
    .NET4.0的listview与DataPager的结合使用时的模板编辑
    ASP.NET 后台页面无法识别服务器控件ID
    Asp.net中判断是否是指定页面请求的代码示例
    ASP.NET中修改从数据库获取的datatable中的值
    GridView自定义分页样式(上一页,下一页,到第几页)
  • 原文地址:https://www.cnblogs.com/mxb0611/p/11926846.html
Copyright © 2011-2022 走看看