`

spring的核心机制-------依赖注入

 
阅读更多

        ApplicationContext是spring的核心,它是一个巨大的工厂,也是一个功能超强的工厂。Spring框架的绝大多数功能都是通过它实现的。

        Spring容器为对象设置属性的方式被称为控制反转(Inversion of Control,IoC),也叫依赖注入。

 

Spring的核心机制:依赖注入

        在传统的java编程中,当一个类需要另一个类的实例时,通常 都是有调用者创建被调用者。在依赖注入的模式下,创建被调用者的工作不再有调用者来完成,把它交给spring容器来完成。这就是控制反转,也叫做依赖注入。

       依赖注入的两种形式:

            设值注入:IoC容器使用属性的Setter方法来注入被依赖实例。

            构造注入:IoC容器使用构造器来注入被依赖实例。

 

下面是示例:

       

 



 



 



 



 

 

 

对两种注入方式的比较与选择:

       构造注入可以在构造器中决定依赖关系的注入顺序,优先依赖的优先注入。

       对于优先关系无须变化的Bean,构造注入更有用处。

       依赖关系只能在构造器中设定,则只有组件的创建者才能改变组件的依赖关系。

建议采用设值注入为主,构造注入为辅的策略。对于依赖关系无须变化的注入,尽量采用构造注入;而其它的依赖注入,则考虑依赖注入。

 

  • 大小: 7.5 KB
  • 大小: 10 KB
  • 大小: 12.5 KB
  • 大小: 9.7 KB
  • 大小: 18.2 KB
  • 大小: 22.5 KB
分享到:
评论

相关推荐

    Spring 核心机制(依赖注入)

    全面的Spring 核心机制 依赖注入 的描述,运用,实例开发运用,

    详解Spring的核心机制依赖注入

    详解Spring的核心机制依赖注入 对于一般的Java项目,他们都或多或少有一种依赖型的关系,也就是由一些互相协作的对象构成的。Spring把这种互相协作的关系称为依赖关系。如A组件调用B组件的方法,可称A组件依赖于B...

    模拟spring依赖注入

    揭秘spring核心机制, 模拟spring依赖注入

    swagger-spring-boot-starter 是一款建立在swagger基础之上的工具包.zip

    Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供...

    Spring-Reference_zh_CN(Spring中文参考手册)

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...

    javaSpring

    Spring核心机制——依赖注入,Spring与Struts 2整合应用

    Java - Spring-IoC(Inverse of Control)–> 控制反转

    依赖注入是IoC的主要实现方式 IoC的实现机制: 工厂模式 + 反射机制:工厂模式提供创建方法,通过反射获取需要加载的类的全限定名称,通过工厂加载产生需要的类对象。 ② AoP(Aspect Oriented Programing) --> 面向...

    深入解析Spring IoC源码:核心机制与实践应用

    同时,本文对Spring Bean的生命周期进行了深入剖析,从创建、依赖注入到销毁的每个阶段都进行了详尽的讲解。透过这些分析,本文不仅为Java开发者提供了对Spring IoC更深层次的理解,也为高效利用Spring框架提供了...

    spring3.0帮助文档(包含REST资料)

    ◆标准化的依赖性注入注释:对Java中依赖性注入的JSR-330标准的完整支持 ◆基于受限注释的声明式模型验证:JSR-303 Bean验证提供的Spring实现。 ◆增强的绑定功能以及注释驱动的格式化:在标准的PropertyEditors...

    Spring 3 Reference中文

    1.1 依赖注入和控制反转.6 1.2 模块6 1.2.1 核心容器.7 1.2.2 数据访问/ 整合..7 1.2.3 Web ..8 1.2.4 AOP 和设备组件.8 1.2.5 测试.8 1.3 使用方案8 1.3.1 依赖管理和...

    探秘Spring框架解决循环依赖的高效策略

    Spring框架作为Java企业级应用的核心,其解决循环依赖的能力是其健壮性和灵活性的关键体现。循环依赖,即两个或多个组件相互依赖,常在大型应用中遇见。Spring通过三级缓存和AOP代理机制巧妙处理这一挑战。首先,一...

    基于spring-boot+quartz的CRUD任务管理系统.zip

    Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供...

    JavaSpring的商城项目前台+后台+api

    依赖注入(DI):Spring的依赖注入机制减少了组件之间的耦合。通过配置文件或注解,对象的创建和绑定由Spring容器管理,而不是由应用程序代码直接控制。 面向切面编程(AOP):Spring支持AOP,允许定义方法拦截器和...

    spring bean的源码

    Spring 大量引入了Java 的Reflection机制,通过动态调用的方式避免硬编码方式的约束,并在此基础上建立了其核心组件BeanFactory,以此作为其依赖注入机制的实现基础。org.springframework.beans包中包括了这些核心...

    深入解析Java Spring框架

    详述对Spring的依赖注入机制的理解,以及它对代码可维护性和灵活性的影响。分享在实际项目中如何巧妙运用依赖注入的经验。 三、实际项目经验分享 3.1 构建企业级应用 回顾参与的企业级应用项目,分享在项目中面临...

    spring chm文档

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. ...

    Spring2.0宝典 源码

    全书分22章,内容涵盖了Spring的核心机制、依赖注入、资源访问、AOP框架、事务框架、整合Hibernate、DAO支持、JDBC支持、MVC框架、整合第三方表现层技术、整合第三方MVC框架、远程访问支持、EJB访问和实现、Spring对...

    详细介绍Spring和SpringBoot的区别

    - **Spring**:以轻量级和松耦合为核心,通过依赖注入(DI)等机制降低组件间的耦合度,提高系统的灵活性和可维护性。 - **Spring Boot**:遵循“约定优于配置”的原则,提供一套默认的约定,减少开发者的配置工作...

    深入解析Spring IoC:源码与实践指南

    Spring框架的核心在于其强大的IoC(控制反转)机制,该机制为Java应用提供了一种优雅的依赖注入方式。本文深入探讨了Spring IoC容器的加载过程及其源码实现,揭示了Spring中最为根本的概念之一。这包括从...

Global site tag (gtag.js) - Google Analytics