spring架构解析(一)--IoC容器实现

本文详细介绍了Spring架构的核心,包括IoC容器和AOP模块,以及Spring的层次和模块划分。Spring IoC容器的设计与实现,如BeanFactory和ApplicationContext,以及BeanDefinition的数据结构。接着讲解了容器的初始化过程,Bean的依赖注入,预实例化,FactoryBean,BeanPostProcessor和autowire的实现。
摘要由CSDN通过智能技术生成
一、Spring架构简介
    Spring的设计目标:为开发者提供个一站式的轻量级应用开发框架(平台)。就像操作系统负责存储、计算、通信、外围设备等物理资源的管理一样,Spring关系的是企业应用资源的使用,比如数据持久化、事务处理、消息中间件、web应用、分布式计算等技术的抽象。
  1.Spring的层次划分
    Spring体系的核心:IoC容器和AOP模块。通过IoC容器管理POJO对象及其依赖关系,通过AOP模块以动态和非侵入的方式来增强Spring的功能。
    JavaEE各系统组件及服务:在IoC容器和AOP模块的支持下,Spring扩展了支持JavaEE开发的多个系统组件及服务,如:JDBC、ORM、Web MVC、事务处理等。
  2.Spring的模块划分
    Spring的基本组成模块有:Spring IoC、Spring AOP、Spring MVC、Spring JDBC/ORM、Spring事务处理、Spring远端调用、Spring应用。
  3.Spring的一些特性
    耦合性低:各个模块除了依赖IoC容器和AOP之外,相互之间并没有很强的耦合性;
    非侵入性:使应用程序对框架的依赖最小,在没有框架时同样可以运行;
    面向接口:Spring推动应用的设计风格向面向对象和接口编程转变。
    可选择型:Spring只提供各种技术实现,不与单独技术绑定。

二、Spring IoC容器的设计与实现
  两个容器系列:BeanFactory和ApplicationContext。
    BeanFactory:实现容器最基本的功能;
     ApplicationContext:在简单容器的基础上,增加面向框架的特性;
  1. Spring IoC容器的数据结构
    BeanDefinition:对应java对象以及对象间的依赖关系,Spring将用户在XML文件或代码中定义的Bean,解析成对应的 BeanDefinition对象,并存储在HashMap中,key为Bean的name
    HashMap:多个HashMap,分别用于存储 BeanDefinition和singlton Bean实例等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值