`

Spring IOC(Inversion of control)/DI(Dependency Injection)

阅读更多

简单的理解,根据开发者配置属性,由Spring管理所有的Bean,容器向应用提供对应依赖的对象。


1、构造器注入

(1)默认构造方法或带参数构造方法(包含对象引用)

如果没有public公共构造方法的类使用factory-method="getInstance"

2、Setter注入

3、装配bean,与作用域
      可以装配list set map,
      Spring Bean默认都是单例,当然用户可以对该Bean的配置文件进行配置,作用域规则如下.

作用域                            规则

singleton                       Spring容器中,一个Bean定义只有一个对象实例

prototype                        每次调用都创建一个实例

request                            每次Http请求,每个Bean定义对应一个实例,仅在Web的Spring容器中有效

session                             在一个HttpSession中,每个Bean对应一个实例,仅在Web的Spring容器中有效

global-session              一个全局HttpSession中,每个Bean对应一个实例,仅在Web的Spring容器中有效

 

 

4、Bean的生命周期

 Spring里的源码分析

1)实例化

2)填充属性

3)调用BeanNameAware的SetBeanName方法

4)BeanFactory的SetBeanFactory方法

5)调用ApplicationContextAware的setApplicationContext()

6)BeanPostProcessore的预初始化方法

7)InitializingBean的afterPropertiesSet()方法

8)调用定制初始化方法

9)BeanPostProessors的后初始化方法

10)Bean成功初始化-容器关闭-调用DisposableBean 的destory()方法-调用定制的销毁方法。

 

(1)初始化和销毁

通过配置文件

 

通过接口实现

 

 

分享到:
评论

相关推荐

    Inversion of Control Containers and the Dependency Injection pattern.docx

    这些容器背后的核心技术通常被统称为“控制反转”(Inversion of Control, IoC)。本文将深入探讨这一模式的工作原理,并特别关注依赖注入(Dependency Injection, DI)这一更为具体的形式。此外,我们还将对比依赖注入...

    spring框架约束步骤及教程

    spring-beans.jar 这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI支持,引入...

    springIoc实现原理

    Spring Ioc(Inversion of Control,控制反转)是Spring框架的核心特性之一,它改变了传统应用程序中对象的创建和管理方式。在传统的软件设计中,对象的创建和依赖关系的维护通常由代码自身来完成,而在Spring Ioc中...

    IoC 容器和Dependency Injection 模式

    IoC(Inversion of Control)通常用来描述这种模式的整体概念,即不再由对象自身负责管理其依赖项,而是由外部的容器来管理和注入。 在传统的编程中,一个对象通常会自行创建或查找它需要的依赖对象,这种方式导致...

    spring jar包

    3.spring-beans:基础jar包,它包含访问配置文件、创建和管理bean 以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI 支持,引入spring-core.jar 及spring...

    登陆案例jar包

    //包含访问配置文件、创建和管理bean 以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。 spring-core-4.2.4.RELEASE.jar //这个jar 文件包含Spring 框架基本的核心工具类。Spring ...

    IOC(inversion of control)

    IOC,即Inversion of Control,中文常被翻译为“控制反转”,是面向对象编程领域中的一个设计模式,尤其在Spring框架中广泛应用。控制反转是一种设计原则,它将对象的创建和组装过程从代码中分离出来,交给容器来...

    Springioc注入Demo

    Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性,它将对象的创建和管理权交由Spring容器来负责,从而实现了依赖倒置,增强了代码的可测试性和可维护性。DI(Dependency Injection,依赖注入)...

    Spring IOC 控制反转

    它通过依赖注入(Dependency Injection, DI)和面向切面编程(Aspect Oriented Programming, AOP)等特性实现了对应用程序的解耦,并通过IOC(Inversion of Control)控制反转来简化配置和管理。 #### 二、Spring ...

    spring-beans-4.0.0.RELEASE.jar

    spring-beans-4.0.0.RELEASE.jar这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI...

    spring ioc思维导图源文件

    Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性之一,它允许开发者将对象的创建和管理交给Spring容器来处理,从而使代码更加松耦合,更易于测试和维护。下面将详细介绍Spring IOC的基本概念、...

    Spring IoC简单示例-注解配置-Maven构建

    在本文中,我们将深入探讨Spring框架的核心特性——控制反转(Inversion of Control,简称IoC)和依赖注入(Dependency Injection,简称DI),以及如何通过注解配置和Maven项目构建来实现这一概念。Spring框架是Java...

    笔记28-JAVAEE之Spring IoC&DI

    Spring IoC(Inversion of Control,即控制反转)是Spring框架的核心机制之一,它提供了一种解耦合的方式,使得应用程序的各个组件之间能够松散耦合,提高了系统的灵活性和可维护性。 在传统的编程模式中,我们通常...

    Java反射_Spring IOC

    Spring框架的依赖注入(Dependency Injection, DI)是其核心特性之一,而Spring的IOC(Inversion of Control,控制反转)是DI的一种实现方式。在传统的编程模式中,对象通常负责自己创建所需的依赖项。而在Spring中...

    Spring IoC依赖包

    Spring IoC,全称为Inversion of Control,即控制反转,是Spring框架的核心特性之一。它是一种设计模式,改变了传统程序中的对象创建和管理的方式,将对象的生命周期管理交由Spring容器来负责,使得代码更加解耦,...

    Spring IOC.pdf

    控制反转(Inversion of Control,简称IoC)是一种设计原则,用于减少代码间的耦合,提高系统模块化和代码的重用性。在Spring框架中,IOC具体体现在对依赖关系的管理上,使得对象的创建、依赖关系的绑定等过程不再由...

    Spring IoC讲解PPT

    IoC(Inversion of Control)即控制反转,是 Spring 的核心特性之一。在传统的编程模式中,对象之间存在依赖关系,程序员需要手动创建和管理这些对象。而在 Spring 中,IoC 容器负责管理和创建对象,对象之间的依赖...

    Spring Security、Spring Social 、Spring Security OAuth

    它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制...

    Manning Dependency Injection.pdf

    2. **IoC容器**:解释IoC(Inversion of Control)与DI的关系,以及IoC容器如何管理对象及其依赖关系。 3. **设计模式与实践**:可能涵盖工厂模式、抽象工厂模式、单例模式等,以及如何在实际项目中使用它们实现...

Global site tag (gtag.js) - Google Analytics