控制反转容器之(容器和bean的基本原理)

本文深入探讨了控制反转(Inversion of Control, IoC)和依赖注入(Dependency Injection)的概念,解释了它们如何改变对象创建和依赖管理的方式,以及IOC容器在管理bean和其依赖关系中的核心作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:控制反转和依赖注入

控制反转是什么?是一种设计思想。

控制:IOC容器控制对象,控制外部资源。

反转:是相对于正转而言的,正转就是我们主动去创建对象,而反转则是我们通过IOC容器被动的创建对象,对象的创建和销毁都是有IOC容器来控制。相当于控制权不同,之前控制权在主程序的手中,反转则是控制权在IOC容器的手中。

依赖注入是什么?

依赖是什么?:比如说A对象会调用B对象中的方法,则此时说明A依赖B。

为什么需要依赖注入?:通过依赖注入机制,我们可以通过简单配置来获取资源,编写业务层代码,而不需要去关注资源来源于何处。

应用程序依赖IOC容器来注入资源。

1.容器和bean的基本原理

1)BeanFactory是IoC容器的核心接口。它的职责包括:实例化定位配置应用程序中的对象及建立这些对象间的依赖

2)Ioc容器来管理一个或者多个bean。

bean:

通过xml来配置元数据(所以常用的XmlBeanFactory是BeanFactory),可以通过配置元数据来对Bean进行定义;

实例化bean(静态构造方法,静态工厂方法,动态工厂方法)

Resource resource = new FileSystemResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);

实例化容器(通过beanFactory来实例化容器)

元数据:任何文件系统中的数据分为数据和元数据,数据就是我们所看到的数据,而元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息(inode...)等等)。

bean的定义:

  • 全限定类名:这通常就是已定义bean的实际实现类。如果通过调用static factory方法来实例化bean,而不是使用常规的构造器,那么类名称实际上就是工厂类的类名。

  • 行为模式:创建模式(prototype还是singleton)、自动装配模式、依赖检查模式、初始化以及销毁方法

  • 用于创建bean实例的构造器参数及属性值。

  • bean之间的关系,即协作 (或者称依赖)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值