首页 > 其他分享 >spring学习三:IoC概述

spring学习三:IoC概述

时间:2023-10-08 11:23:38浏览次数:44  
标签:容器 对象 spring Bean 概述 Spring IoC 反转 IOC

IOC:控制反转,它并不是一种技术而是一种设计思想,是一个重要的面向对象编程法则,能够知道我们如何设计出松耦合,更优良的程序。

 

Spring通过IOC容器管理所有java对象的实例化和初始化控制对象与对象之间的依赖关系,我们将由IOC容器管理的java对象称为Spring

Bean,它与使用关键字new创建的java对象没有任何区别。

1.IoC容器

1.1控制反转(IOC)

●控制反转是一种思想

●控制反转是为了降低程序耦合度,提高程序的扩展力

●控制反转,反转的是什么?

  将对象的创建权利交出去,交给第三方容器负责

  将对象与对象之间关系的维护权交出去,交给第三方容器负责

1.2依赖注入

DI(dependency injection):依赖注入,依赖注入实现了控制反转的思想。

依赖注入:

  ●指Spring创建对象的过程中,将对象依赖属性通过配置进行注入

依赖注入常见的实现方式包括两种

  ●第一种:set注入

  ●第二种:构造注入

结论:IOC是一种控制反转的思想,ID是对IOC的一种具体实现

Bean管理说的是:Bean对象的创建,以及Bean对象中属性的赋值(或者叫做Bean对象之间关系的维护)

1.3 IOC在Spring的实现

Spring的IOC容器就是IOC思想的一个落地的产品实现,IOC容器中管理的组件也叫做bean,在创建bean之前,

首先需要创建IOC容器,Spring提供了IOC容器的两种实现方式:

①BeanFactory

这是IOC容器的基本实现,是Spring内部使用的接口。面向Spring本身,不提供给开发人员使用。

②ApplicationContext

BeanFactory的子接口,提供了更多高级特性,面向Spring的使用者,几乎所有场合都使用ApplicationContext

而不是底层的BeanFactory

 

标签:容器,对象,spring,Bean,概述,Spring,IoC,反转,IOC
From: https://www.cnblogs.com/ssbxfsrm/p/17748381.html

相关文章

  • 基于Spring事件驱动模式实现业务解耦
    事件驱动模式举个例子......
  • springboot整合websocket
    引入依赖<!--webSocket--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency>配置类/***websocket配置类*/@ConfigurationpublicclassWebS......
  • Spring中@Autowired和@Resource的区别
    说明@Autowired这个注解呢,是由Spring提供的;@Resource由JDK提供的区别①注解内参数不同@Autowired只包含一个required参数,默认为true,表示开启自动注入@Resource包含七个参数,其中最重要的两个是name和type②装配方式默认值不同@Autowired默认按type自动装配@Resource默认按......
  • 中国古代诗歌发展概述(上)
    中国是诗歌的国度。中国诗歌历史悠久,如果从《诗经》算起,已经有三千多年的历史了。在漫长的岁月中,诗歌——直和中国人的日常生活、情感世界紧密相关。中国诗坛涌现出众多杰出的诗人和优美、感人的作品,诗歌创作的优良传统一直延续不断,成为我们今天引以自豪的精神财富。下面就让我们......
  • Spring Cloud Admin
    一、Admin简介提供友好的界面展示actuator统计的数据,可以很好的监控整个微服务系统中的实例运行情况信息。服务异常告警。二、服务端配置启动类添加@EnableAdminServer注解<!--Admin服务--><dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-ad......
  • springboot -- 整合 sharding-jdbc 读写分离+分库分表配置(进阶)
    sharding-jdbc说明:1、分库分表不能中途更改,取模算法的id会出错2、不支持特殊sql,包括去重,子sql,聚合等3、查询会给所有表发查询sql,带上分库,分表的字段的查询只发一条,4、查询数据要注意使用,尽量带上分库或分表字段来查询,避免多表查询sql过多取模算法假设2个表,test_0,test_1,分......
  • 基于springboot的小程序的高校后勤管理系统-计算机毕业设计源码+LW文档
    1、选题背景与意义(含国内外相关研究综述及评价)近年来,随着计算机的不断发展和深入到各个行业中并起到了很重要的作用,给人们带来了很大的便利。在这样的趋势下,高校的后勤管理显得也很重要。在《高校后勤管理系统的设计与实现》中也提到,教育的普及和日益激烈的资源竞争,对学校的教学质......
  • springAMQP-Work Queue 工作队列(一个队列绑定多个消费者)
         ......
  • SpringBoot的学习
    Spring的不足Spring虽然以优雅的设计和灵活强大的功能成为JavaEE企业级框架的主流解决方案,但是使用Spring的过程中也面临着一些不足XML配置太多虽然引入了组件扫描减少了配置量,Java配置让它看上去简洁不少,但Spring还是需要不少配置。所有这些配置都会对开发进度造成影响。JavaCon......
  • SpringAMQP—入门案例消息发送(rabbitmq是一个存放消息队列的中转站,发布者将消息队列发
        ......