前言:打算开始一个Spring模块的系列文章,查看网上已有的文章、博客,发现关于Spring的介绍说明浩如烟海,其中不乏深入浅出、说理透彻的文章。尤其发现,思维导图可以简明扼要的阐述相关概念及其之间的关系,所以引用、整理一篇介绍SpringIOC的的文章与大家分享。
本篇文章重点关注以下问题:
- Spring知识细节
- 控制反转
- spring ioc容器
- 核心组件协同工作
- BeanFactory与ApplacationContext的区别
- 3种注入方式
- 原理解析
1. Spring知识细节
写过java的都知道:所有的对象都必须创建;或者说:使用对象之前必须先创建。而使用ioc之后,你就可以不再手动创建对象,而是从ioc容器中直接获取对象。就好像我们无需考虑对象的销毁回收一样,因为java垃圾回收机制帮助我们实现了这个过程;而ioc则是让我们无需考虑对象的创建过程,由ioc容器帮我们实现对象的创建、注入等过程。
2. 控制反转
3. IOC容器
在Spring框架中的核心组件只有三个:Core、Context和Bean。它们构建起了整个Spring的骨骼架构,没有它们就不可能有AOP、Web等特性功能。
如果说在三个核心中再选出一个核心,那就非Bean莫属了。可以说,Spring就是面向Bean的编程,Bean在Spring中才是真正的主角。Spring为何如此流行?你会发现Spring解决了一个非常关键的问题,它可以让你对对象之间的关系转而用配置文件来管理,或者注解,也就是它的依赖注入机制。而这个注入关系在一个叫Ioc的容器中管理。Ioc容器就是被Bean包裹的对象。Spring正是通过把对象包装在Bean中从而达到管理这些对象及做一些列额外操作的目的。
IOC如何工作:
SpringIOC初始化:
SpringIOC工作原理:
4. 核心组件协同工作
5. BeanFactory与ApplacationContext的区别
IOC中最核心的接口是Beanfactory提供IOC的高级服务,而ApplicationContext是建立在BeanFactory基础之上提供抽象的面向应用的服务。
6. 三种注入方式
在Spring框架中,依赖注入(DI)的设计模式是用来定义对象彼此间的依赖。使用xml配置bean的情况下,它主要有两种类型:
- Setter方法注入
- 构造器注入
当然,有了注解之后,使用注解的方式更加方便快捷。即自动装配功能实现属性自动注入(@autowire)。写到这里,让我想起了最近在牛客网上看的一道选择题了:
下面有关spring的依赖注入,说法错误的是?(C?) A、依赖注入通常有如下两种:设置注入和构造注入: B、构造注入可以在构造器中决定依赖关系的注入顺序,优先依赖的优先注入 C、当设值注入与构造注入同时存在时,先执行构造注入,再执行设值注入 D、设值注入是指IoC容器使用属性的setter方法来注入被依赖的实例。这种注入方式比较简单、直观
7. 原理解析
后续我会介绍IOC的一般用法,以及对源码的追踪。
相关推荐
2019年最新最详细的Spring框架思维导图。 Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核。 提供了...
自学自用的Spring框架学习路径,从IOC、AOP、SSM整合到事务管理,内容丰富。注:整合SpringMVC需要配合上传的SpringMVC思维导图一起学习
这份"Spring思维导图"旨在帮助开发者全面理解和掌握Spring框架的主要概念和功能。 首先,Spring的核心特性包括: 1. **控制反转(IoC)**:IoC是指应用程序的控制权由传统的对象自行创建和管理转移到容器中,由...
这个资源包含的是一个Spring基础的思维导图和PDF版,可以帮助学习者更直观、系统地理解Spring的核心概念。 首先,我们从"Spring AOP"开始。AOP(Aspect-Oriented Programming)是面向切面编程,它允许程序员定义...
《尚硅谷SpringCloud源码深度解析与思维导图指引》 SpringCloud作为微服务架构的主流框架,其在IT行业中有着广泛的应用。尚硅谷提供的SpringCloud源码分析资源,为开发者深入理解这一框架提供了宝贵的资料。本文将...
Spring框架是Java开发领域中的一个核心工具,由Rod..."Spring.png"和"Spring.xmind"可能是两种不同格式的思维导图文件,分别以图片和XMind原生格式呈现Spring框架的详细知识体系,对于学习和复习Spring框架非常有帮助。
Spring.xmind思维导图可能涵盖了Spring的核心概念,如Bean容器、IoC(Inversion of Control)、AOP的应用场景、事务管理以及Spring与其他技术的整合,如JDBC、Hibernate等。 2. **SpringMVC**:作为Spring框架的一...
Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性之一,它允许开发者将对象的创建和管理...而通过"spring ioc思维导图源文件"的学习,可以帮助我们系统地梳理和记忆这些知识点,从而提升开发效率。
6. **IOC(Inversion of Control)**:控制反转是Spring框架的核心特性,它将对象的创建和管理交由容器负责,使得组件之间的依赖关系得以解耦,提高了代码的可测试性和可维护性。 7. **AOP(Aspect-Oriented ...
全网最全面Spring框架IoC知识体系的思维导图,讲解了Spring中的两大IoC容器和依赖注入的方式
java知识:1、java简介,2、java主要特性,3、java发展历史..............18、...ssm框架:(aop篇),(cache篇),ioc篇),(mvc篇) 开源项目:spring-shiro-training 博客项目Tale思维导图 小程序知识的思维导图
Spring学习思维导图 Spring是一个轻量级的JavaEE解决方案,它解决了EJB的问题,如运行环境苛刻、移植性差等。Spring的本质是一个工厂加配置文件,通过工厂设计模式来解决耦合问题。 一、工厂设计模式 工厂设计...
总的来说,这份"Java Spring 源码解析 Xmind 思维导图"涵盖了Spring框架的核心组件和设计理念,帮助开发者从源码层面理解Spring的运行机制。通过这样的学习,可以提升开发者对Spring的理解,从而更好地利用Spring...
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。 SpringMVC SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介...
12. **框架技术**:如Spring框架的IoC和AOP原理,MyBatis的使用,以及Struts2或Spring Boot等。 13. **数据库交互**:JDBC API的使用,SQL语言,事务处理,预编译语句等。 14. **设计模式**:单例、工厂、观察者、...
首先,让我们来探讨一下Spring的IoC容器。IoC,也称为依赖注入,是Spring的核心特性。它管理着应用对象的创建和依赖关系,使得代码更加松耦合。在Xmind思维导图中,可能你会看到关于BeanFactory和ApplicationContext...
这个压缩包包含Spring家族的思维导图,旨在帮助开发者理解和掌握Spring生态系统的各个组件和它们之间的关系。以下是根据提供的信息详细解释Spring家族的主要知识点: 1. **Spring框架**:Spring是整个家族的基础,...