Spring - 设计理念和整体架构

1. 设计理念

Spring为开发者提供一站式的轻量级应用开发框架

在Java EE的应用开发中,支持POJO和使用JavaBean的开发方式,使应用面向接口开发,充分支持OO的设计方法

从设计上,Spring分为核心,组件和应用三个基本的层次

核心:
Spring的核心即IOC容器和AOP模块,通过IOC来管理POJO对象,以及他们之间的松耦合关系;AOP以非侵入式的方法来增强服务(符合开闭原则)

组件:
IOCAOP两大核心模块的支持下,可以依据IOCAOP约定好的模式,即可动态的扩展许多即开即用的系统组件和服务,比如事务处理,Web MVCJDBC
这部分组件提供了许多Java EE服务抽象,更体现了面向接口开发的设计理念

2. 整体架构

在这里插入图片描述

Core Container
包含了最基本的IOC容器和BeanFactory接口的与实现,比如XmlBeanFactory
除此之外还包含让应用方便使用IOC的支持,比如Resource访问资源的抽象和定位等

  • Spring-Core
    包含了框架基本的核心工具类,其他组件都要使用到这个包中的类
    定义并提供了资源的访问方式,为IOCDI提供了最基础的服务

  • Spring-beans Spring主要面向Bean编程
    Spring把对象包装在Bean中达到对对象进行一系列的管理包括Bean的定义,Bean的解析,Bean的创建等
    其中的BeanFactory很重要

  • spring-context
    Spring提供运行时环境,保存对象的状态
    扩展了BeanFactoryApplicationContext等)

Spring-AOP
围绕着AOP的增强功能,Spring集成了AspectJ作为AOP的一个特定实现,同时还在JVM动态代理/CGLIB的基础上实现了一个AOP框作为Spring集成其他模块的工具,比如声明式事务的TransactionPoxyFactoryBean

Spring MVC
Spring MVC

Spring JDBC/ORM
Spring层面在JDBC规范的基础上进行了一层封装(JdbcTemplate)简化数据库的操作;
还提供了对ORM工具的封装,让应该更方便的使用ORM框架

Spring 事务处理
Spring把企业开发中事务处理的主要过程抽象出来,并且简洁的使用AOP增强实现了声明式事务;
这些事务的处理的基本过程和具体事务处理器的实现是无关的,这里又一次体现了面向接口开发的设计理念;对于不同的事务处理机制(JDBC,Hibernate,JTA)有对应的事务处理器(DataSourceTransactionManager,HibernateTransactionManager,JtaTransactionManager)进行封装

Spring的远端调用
屏蔽了通讯的具体底层实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值