Spring IoC容器

9 篇文章 0 订阅
9 篇文章 0 订阅

Spring IoC容器

1. Spring的核心模块

  • IoC反转控制
            指把创建对象交给Spring进行管理,即反转资源获取方向,把自己创建资源、向环境提供资源的方式变为框架进行创建资源,直接使用。

  • AOP面向切面编程
            AOP用来封装多个类的公共行为,将那些与业务无关的却为业务模块共同调用的逻辑封装起来,减少系统的重复代码。

2。 什么是IoC、IoC容器和依赖注入

  • IoC
            IoC(Inversion of Control)即控制反转是一种编程思想。IoC将对象的创建和管理交给框架来完成,而不是由开发人员手动创建和管理。

  • IoC容器

    • IoC容器是实现IoC思想的一种技术手段和工具
    • IoC容器能够自动扫描应用程序中的对象,进行实例化,并自动注入其所需的依赖对象。Spring通过IoC容器来管理所有的Java对象的实例化和初始化,控制着对象与对象之间的依赖关系。
  • 依赖注入DI

    • DI(Dependency Injection):即依赖注入,实现了控制反转思想,是指Spring创建对象的过程中,将对象依赖属性通过配置进行注入。DI是IoC的一种具体实现。
    • Bean管理:指Bean对象的创建,以及Bean对象中属性的赋值。

3. IoC容器是如何实现的

        Spring中的IoC容器主要通过实现BeanFactory接口和ApplicationContext接口实现

        Spring框架中的IoC容器是其核心组件之一,它负责管理对象的生命周期以及依赖关系。以下是Spring中IoC容器的实现原理:

  • BeanFactory接口:这是Spring IoC容器的最底层接口,提供了IoC容器最基本的功能,比如实例化对象、获取对象等。他说Spring容器的基础,为具体的IoC容器实现提供了规范。

  • ApplicationContext接口:这是BeanFactory的子接口。代表了一个更高级的IoC容器。它除了提供BeanFactory的功能外,还提供了更多面向应用的功能,比如支持国际化、事件传播等。在Spring应用中,Application Context是最常用的容器形式。

  • 依赖注入:Spring IoC容器通过依赖注入机制将对象的创建和管理权交给了容器。开发人员只需要在配置文件中声明对象及其依赖关系,容器会自动创建对象并注入依赖。这使得对象之间的关系更加松散,便于维护和测试。

  • 三级缓存:为了提高性能,Spring IoC容器使用了三级缓存机制。其中,singletonObjects用于存放完全创建好的Bean对象,整个Bean的生命周期从创建、使用到销毁都由容器管理。

  • AOP支持:除了IoC,Spring还提供了面向切面编程AOP的支持,这允许开发者在不修改源代码的情况下增强功能,进一步促进了代码的解耦和功能的模块化。

  • 方便集成:Spring IoC容器还提供了与其他框架整合的便利性,如数据库事务操作、API开发难度降低等,使得企业应用开发更加高效。

        总体来说,Spring中的IoC容器是通过实现BeanFactory和ApplicationContext接口,结合依赖注入、缓存机制、AOP等功能,为应用程序提供了一个强大的、可扩展的、易于测试和维护的对象管理环境。

ApplicationContext的主要实现类
类型说明
AnnotationConfigApplicationContext使用注解方式构架IoC容器
ClassPathXmlApplicationContext使用Xml配置文件方式构架Spring IoC容器
  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨尘儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值