首页 > 其他分享 >1_IOC容器概述

1_IOC容器概述

时间:2024-03-03 15:11:57浏览次数:17  
标签:容器 对象 Spring 概述 反转 IOC 注入

IOC容器

IOC容器是Invension of Control的简写,这是一种设计思想,是一个重要的面向对象变成法。

Spring通过IOC容器来管理所有Java对象的实例化和初始化,控制对象与对象的依赖关系。我们将由IOC容器管理的Java对象称之为Spring Bean,它与使用new关键字创建出来的Java对象没有任何区别。(首先在配置文件或者注解里面定义bean的相关信息,然后通过BeanDefinitionReader进行读取加载,最后通过BeanFactory+反射进行实例化,最终得到实例化对象)

1. IOC容器

1.1 控制反转

  • 控制反转是一种思想。
  • 控制反转是为了降低程序的耦合性,提高程序扩展能力。
  • 控制反转,反转的是什么?
    • 将对象的创建权交出去,交给第三方容器管理。
    • 将对象和对象之间关系的维护权交出去,交给第三方容器管理。
  • 控制反转这种思想如何实现?
    • DI(Dependency Injection):依赖注入。

1.2 依赖注入

依赖注入实现了控制反转的思想

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

依赖注入常见的额两种方式:

  • set注入
  • 构造注入

因此:IOC是一种控制反转的思想,而DI是对IOC容器的具体实现。

1.3 IOC容易在Spring当中的实现

Spring IOC容器就是IOC思想的一个落地产品的 实现,IOC容器中管理的组件也叫做Bean,但创建Bean之前需要创建IOC容器,Spring提供了IOC容器实现的两种方式:

A: BeanFactory

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

B: ApplicationContext

BeanFactory的子接口,面向Spring的使用者,几乎所有场合都使用AppilicationContext。

标签:容器,对象,Spring,概述,反转,IOC,注入
From: https://www.cnblogs.com/lilyflower/p/18050064

相关文章

  • IOC
    一、含义:(InversionofControl,英文缩写为IoC),是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。二、控制反转一般分为两种类型,依赖注入(DependencyInjection,简称DI)和依赖查找(DependencyLookup)。1、创建对象的步骤变复杂了,不......
  • 关于pb_ds容器和一些STL
    ##STL###set 它可以相对较快的处理元素,并且把它们排序。####1.定义```c#include<set>usingnamespacestd;set<int>s;intmain(){}```关于相关的迭代器```set<int/*类型*/>::iteratorit/*迭代器的名称*/;```####2.相关操作 这里引用旧林墨烟在csdn上博客的一些内容......
  • 考研复习方法概述
    为达到最佳的学习效果,下面说明平时学习中应当把握住的两个层次:夯实基础要熟练掌握各类概念、定理、公式、图像、技巧及结论等基础,各类细节知识点要事无巨细、不厌其烦地重复熟记,达到提纲挈领、总揽全局的效果。要明确基础部分必须是考纲或课本知识体系中存在的或从中总结出......
  • 压力容器、储气罐、压力容器焊接专业英语
    分类classification英文english中文chinesedefectapprovalofdefectinmaterial材料中缺陷的认可defectarccrater弧坑defectpenetration毛边defect不整齐的飞边修整defectcrack裂缝defectcrack-likeinperfection裂纹状缺陷defect......
  • 万物容器与 c++ 类型反射
    这是一篇组会分享,并且是拖了很长很长时间的那种。这次不会再鸽了这篇文章可以说是针对某cpp佬的公众号的两篇原创内容的笔记c++反射--包容一切的all容器(上)c++反射--包容一切的all容器(中)什么是反射这个好像没有严格的定义,但是概括的说,「反射」是指在程序运行期对程序......
  • 基于WonderShaper对Docker容器进行带宽限速
    #安装WonderShaperaptupdateaptinstallwondershaper#创建Docker网桥dockernetworkcreate--driverbridge<网桥名>#然后终端会输出网桥ID:d0970005351xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd30d0e757f0#记住前面几位然后查看所有网卡ifconfig#如果执行不了就自己去......
  • 压力容器、储气罐、压力容器焊接专业英语
    分类classification英文english中文chinesedefectapprovalofdefectinmaterial材料中缺陷的认可defectarccrater弧坑defectpenetration毛边defect不整齐的飞边修整defectcrack裂缝defectcrack-likeinperfection裂纹状缺陷defect......
  • Gitlab Runner自动执行Docker容器
    概述Gitlab完全可以执行dockerrun命令,本文用最简单的方式来演示。修改.gitlab-ci.yml加入第4个stage,运行dockerrun。stages:-build-docker-image-test-push-image-run-websitevariables:PAY_IMAGE_FULL_URL:docker.amihome.cn/amihome/chang......
  • 【计算机网络】数据链路层概述
    数据链路层功能概述研究思想基本概念术语结点:主机、路由器链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。帧:......
  • 功率半导体器件概述
    什么是功率半导体?定义:即能够进行功率处理的半导体器件即能实现电能转换、专门处理大电流大功率的核心器件特点:由功率半导体材料制作而成。功率半导体材料具有宽禁带、高击穿电场、高热导率、高电子迁移率等特性,可以在高温、高压、高频、大功率等极端条件下工作,实现电能的有效转......