欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

(转)Spring思维导图,让Spring不再难懂(ioc篇) 博客分类: Spring SpringIOC思维导图 

程序员文章站 2024-02-05 17:32:28
...

         前言:打算开始一个Spring模块的系列文章,查看网上已有的文章、博客,发现关于Spring的介绍说明浩如烟海,其中不乏深入浅出、说理透彻的文章。尤其发现,思维导图可以简明扼要的阐述相关概念及其之间的关系,所以引用、整理一篇介绍SpringIOC的的文章与大家分享。

本篇文章重点关注以下问题:

  • Spring知识细节
  • 控制反转
  • spring ioc容器
  • 核心组件协同工作
  • BeanFactory与ApplacationContext的区别
  • 3种注入方式
  • 原理解析

1. Spring知识细节

        写过java的都知道:所有的对象都必须创建;或者说:使用对象之前必须先创建。而使用ioc之后,你就可以不再手动创建对象,而是从ioc容器中直接获取对象。就好像我们无需考虑对象的销毁回收一样,因为java垃圾回收机制帮助我们实现了这个过程;而ioc则是让我们无需考虑对象的创建过程,由ioc容器帮我们实现对象的创建、注入等过程。

(转)Spring思维导图,让Spring不再难懂(ioc篇)
            
    
    博客分类: Spring SpringIOC思维导图 

2. 控制反转

(转)Spring思维导图,让Spring不再难懂(ioc篇)
            
    
    博客分类: Spring SpringIOC思维导图 3. IOC容器 

          在Spring框架中的核心组件只有三个:Core、Context和Bean。它们构建起了整个Spring的骨骼架构,没有它们就不可能有AOP、Web等特性功能。

(转)Spring思维导图,让Spring不再难懂(ioc篇)
            
    
    博客分类: Spring SpringIOC思维导图 

         如果说在三个核心中再选出一个核心,那就非Bean莫属了。可以说,Spring就是面向Bean的编程,Bean在Spring中才是真正的主角。Spring为何如此流行?你会发现Spring解决了一个非常关键的问题,它可以让你对对象之间的关系转而用配置文件来管理,或者注解,也就是它的依赖注入机制。而这个注入关系在一个叫Ioc的容器中管理。Ioc容器就是被Bean包裹的对象。Spring正是通过把对象包装在Bean中从而达到管理这些对象及做一些列额外操作的目的。

        IOC如何工作:

(转)Spring思维导图,让Spring不再难懂(ioc篇)
            
    
    博客分类: Spring SpringIOC思维导图          SpringIOC初始化:

(转)Spring思维导图,让Spring不再难懂(ioc篇)
            
    
    博客分类: Spring SpringIOC思维导图          SpringIOC工作原理:

(转)Spring思维导图,让Spring不再难懂(ioc篇)
            
    
    博客分类: Spring SpringIOC思维导图 

 

 4. 核心组件协同工作  

(转)Spring思维导图,让Spring不再难懂(ioc篇)
            
    
    博客分类: Spring SpringIOC思维导图 

5. BeanFactory与ApplacationContext的区别

       IOC中最核心的接口是Beanfactory提供IOC的高级服务,而ApplicationContext是建立在BeanFactory基础之上提供抽象的面向应用的服务。  

(转)Spring思维导图,让Spring不再难懂(ioc篇)
            
    
    博客分类: Spring SpringIOC思维导图 

 6. 三种注入方式

         在Spring框架中,依赖注入(DI)的设计模式是用来定义对象彼此间的依赖。使用xml配置bean的情况下,它主要有两种类型:

  • Setter方法注入
  • 构造器注入

        当然,有了注解之后,使用注解的方式更加方便快捷。即自动装配功能实现属性自动注入(@autowire)。写到这里,让我想起了最近在牛客网上看的一道选择题了:

  下面有关spring的依赖注入,说法错误的是?(C?)

  A、依赖注入通常有如下两种:设置注入和构造注入:
  B、构造注入可以在构造器中决定依赖关系的注入顺序,优先依赖的优先注入
  C、当设值注入与构造注入同时存在时,先执行构造注入,再执行设值注入
  D、设值注入是指IoC容器使用属性的setter方法来注入被依赖的实例。这种注入方式比较简单、直观

 

7. 原理解析

         后续我会介绍IOC的一般用法,以及对源码的追踪。

  • (转)Spring思维导图,让Spring不再难懂(ioc篇)
            
    
    博客分类: Spring SpringIOC思维导图 
  • 大小: 162.6 KB
  • (转)Spring思维导图,让Spring不再难懂(ioc篇)
            
    
    博客分类: Spring SpringIOC思维导图 
  • 大小: 269.8 KB
  • (转)Spring思维导图,让Spring不再难懂(ioc篇)
            
    
    博客分类: Spring SpringIOC思维导图 
  • 大小: 13.9 KB
  • (转)Spring思维导图,让Spring不再难懂(ioc篇)
            
    
    博客分类: Spring SpringIOC思维导图 
  • 大小: 192.8 KB
  • (转)Spring思维导图,让Spring不再难懂(ioc篇)
            
    
    博客分类: Spring SpringIOC思维导图 
  • 大小: 2.8 KB
  • (转)Spring思维导图,让Spring不再难懂(ioc篇)
            
    
    博客分类: Spring SpringIOC思维导图 
  • 大小: 13.7 KB
  • (转)Spring思维导图,让Spring不再难懂(ioc篇)
            
    
    博客分类: Spring SpringIOC思维导图 
  • 大小: 74.2 KB
  • (转)Spring思维导图,让Spring不再难懂(ioc篇)
            
    
    博客分类: Spring SpringIOC思维导图 
  • 大小: 202.1 KB