`

spring学习——控制反转与依赖注入

 
阅读更多

       控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。

 

本文主要通过一个例子来学习依赖注入。

 

1,定义一个接口:

public interface Instrument{
      void paly();
}

 2,创建一个类来实现该接口:

 

public class Piano implements Instrument { 
     public void play(){
       System.out.println("PLINK PLINK PLINK");
    }
}

3,创建一个使用者:

public class User{
    Instrument instrument;
    
    public Instrument getInstrument{
         return instrument;
    }
    //setter注入:
    public Instrument setInstrument (Instrument instrument ){
         this. instrument  = instrument ;
    }

    public void function(){
         instrument.play();
    }
}

 4,创建一个外部“容器”:

public class Container{
     public static User getBean(){
           Instrument i = new Piano();
           User u = new User();
           u.setInstrument(i);
           return u;
     }
}

5,建一个测试类:

public class Test{
       public static void main(String[] args){
           User u= Container.getBean();
           u.function();
    }
}

 

分享到:
评论

相关推荐

    Spring——IOC(控制反转)与DI(依赖注入).docx

    Spring框架中的IOC(控制反转)和DI(依赖注入)是两种关键的设计模式,它们极大地提升了软件的可维护性和可扩展性。控制反转是一种设计思想,它改变了传统的对象创建方式,将对象的创建和管理权从应用程序自身转移...

    我的Pro Spring 学习笔记 之二 控制反转(IoC)和依赖注入(DI), Spring初步

    在本文中,我们将深入探讨Spring框架的核心概念——控制反转(Inversion of Control,IoC)和依赖注入(Dependency Injection,DI)。这些概念是Spring框架的基础,对于理解和掌握Spring的使用至关重要。 首先,让...

    Spring 核心机制(依赖注入)

    #### 三、依赖注入与控制反转 在讨论依赖注入之前,我们首先需要了解控制反转(Inversion of Control, IoC)的概念。控制反转是指将程序中的控制权转移给一个容器或框架,而不再是应用程序自身负责控制流程。在...

    Spring————面试题库

    控制反转(Inversion of Control, IoC)和依赖注入(Dependency Injection, DI)是Spring框架的核心概念。IoC是一种设计思想,它将对象的创建和依赖关系的维护从传统的编程中分离出来,转交给外部容器来管理。依赖...

    控制反转(IoC)与依赖注入(DI)1

    【控制反转(IoC)与依赖注入(DI)详解】 控制反转(Inversion of Control,简称IoC)是面向对象编程领域的一种设计原则,旨在降低软件组件间的耦合度。在传统的程序设计中,对象A如果依赖于对象B,那么对象A在...

    Spring总结——田超凡.docx

    1. **控制反转 (IoC/DI)**:Spring 的 IoC 容器负责管理对象的生命周期和依赖关系,通过 DI 将对象的创建和管理从应用程序代码中分离出来,降低了代码间的耦合度,增强了灵活性。 2. **面向切面编程 (AOP)**:...

    Java EE 框架整合开发⼊⻔到实战——Spring+Spring MVC+MyBatis(微课版)课后习题答案.pdf

    接下来,文档讨论了Spring中的控制反转(IoC)和依赖注入(DI)的设计模式。IoC是一种设计原则,用于减少代码之间的耦合。在Spring框架中,IoC容器管理Java对象的生命周期和对象之间的依赖关系。通过IoC,对象被动地...

    Spring框架原理及详细搭建步骤

    接着,我们将深入探讨Spring的核心原理——控制反转和依赖注入。此外,我们还将学习如何在Spring框架中配置数据库JDBC,并整合SpringMVC。最后,我们将详细介绍Spring的搭建流程,包括环境搭建、项目结构设计以及...

    MyBatis与Spring整合——通过官方文档进行最简单的整合

    Spring框架以其强大的控制反转(IoC)和面向切面编程(AOP)功能,极大地简化了Java应用程序的开发过程。而MyBatis则是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射等功能。本篇文章将详细介绍如何...

    spring控制反转的理解

    Spring框架的核心特性之一是控制反转(Inversion of Control,IoC),这与依赖注入(Dependency Injection,DI)密切相关。这两个概念都是为了实现软件组件之间的松耦合,从而提高系统的可扩展性和可维护性。 控制...

    spring培训-笔记

    控制反转(IoC)/依赖注入(DI) 11 什么是控制反转/依赖注入? 11 依赖注入的三种实现形式 12 BeanFactory 14 BeanFactory管理Bean(组件)的生命周期 15 Bean的定义 16 Bean的之前初始化 19 Bean的准备就绪...

    基于框架的Web开发-IoC(控制反转)和DI(依赖注入)入门.doc

    【控制反转(IoC)与依赖注入(DI)】是现代Web开发中,尤其是Spring框架中的核心概念。IoC和DI的主要目标是降低组件之间的耦合性,提高代码的灵活性和可维护性。 传统Java开发中,对象通常自行管理它们的依赖关系...

    javaee 习题答案.docx完整详细

    Java EE 框架整合开发入门到实战——Spring+SpringMVC+MyBatis(微课版)习题答案详细解析中,涵盖了 Spring 框架的核心容器、IoC 容器的实现方式、控制反转和依赖注入等重要知识点。 Spring 框架的核心容器 ...

    信息系统软件设计:要懂Spring必须要懂的程序.ppt

    本篇PPT重点讨论了Spring框架中的核心特性——控制反转(IoC)和依赖注入(DI)。 4.2.2 工厂模式知识补充 在面向对象设计中,工厂模式是一种常用的创建型设计模式。工厂模式允许我们用抽象的工厂类来创建具体的...

    spring aop依赖jar包

    - `spring-core.jar`:Spring的核心库,提供了基本的IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)功能,是其他所有模块的基础。 - `spring-context.jar`:提供了上下文容器,扩展...

    【狂神说】spring PDF学习总结笔记 Spring5.pdf

    Spring框架的核心思想包括两种:IOC(控制反转)和AOP(面向切面编程)。IOC使得对象的依赖关系由容器来管理和控制,而不是由对象自身负责,从而降低了耦合度。AOP则是用于处理系统中分散的、横切多个类的公共行为,...

    spring自我总结很全

    标题与描述概述的知识点主要围绕Spring框架的核心概念——控制反转(Inversion of Control,简称IoC)和依赖注入(Dependency Injection,简称DI),以及Spring框架的一些关键特性与配置方式。 ### 控制反转(IoC)...

    三、Spring源码分析——ApplicationContext

    在Java世界中,Spring框架是不可或缺的一部分,它以其强大的IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)特性,极大地简化了企业级应用的开发。ApplicationContext是...

    Spring学习笔记,精华摘要

    Spring框架是Java开发中不可或缺的一部分,它以IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)为核心,简化了组件的管理并降低了代码间的耦合度。在Spring的学习过程中,理解其核心...

Global site tag (gtag.js) - Google Analytics