首页 > 其他分享 >spring IOC的理解

spring IOC的理解

时间:2023-04-04 23:24:09浏览次数:47  
标签:容器 创建 对象 spring DI 理解 Spring IoC IOC

spring IOC的理解.

 

 

(1)没有IoC的程序中,面向对象的编程,对象的创建和对象之间的依赖关系硬编码到程序中,有程序本身控制;

引入DI,对象的创建和对象之间的依赖关系交由第三方——Spring容器来控制。

IoC的本质是获取依赖对象的方式翻转了。

(2)IoC、DI、Spring 容器区别:

  • IoC:控制翻转,一种设计思想——把对象的实例化工作交由Spring容器来完成。一种通过描述(XML或注解)并通过第三方去生产或获取特定对象的方式
  • DI:依赖注入。实现IoC的方式,可以理解为IoC的另一种表示方式
  • Spring IoC Container:Spring容器,Spring框架实现IoC的组件。Spring容器在初始化时先读取配置文件,根据配置文件或元数据创建与组织对象存入容器中,程序使用时再从Ioc容器中取出需要的对象。

注:bean是一个广义的概念,任何的Java对象、Java组件都被当成Bean处理,由Spring创建和管理

BeanFactoryApplicationContext——Spring两大核心接口、两大Spring容器,生成Bean实例并管理Bean的生命周期。

(3)Spring创建对象的几种方式

  • 通过无参构造器创建
  • 通过有参构造器创建
  • 通过静态工厂创建
  • 通过实例工厂创建

标签:容器,创建,对象,spring,DI,理解,Spring,IoC,IOC
From: https://www.cnblogs.com/zhbx/p/17288237.html

相关文章

  • Ioc配置——bean的生命周期
      ......
  • ioc入门案例
          1、pom.xml引入spring<dependencies><!--引入spring--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId>&l......
  • Ioc_控制反转概念
    Ioc:控制反转,spring反向控制应用程序所需要使用的外部资源,可以理解为spring将类与类之间的耦合断开,改为配置文件和类之间的耦合。Ioc容器:spring所控制的资源全部放在spring容器中,该容器称为Ioc容器。      ......
  • SpringBoot 配置类解析
    作者:LiWanghongSpringBoot作为Java领域非常流行的开源框架,集成了大量常用的第三方库配置,SpringBoot应用中这些第三方库几乎可以是零配置的开箱即用,大部分的SpringBoot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。SpringBoot上手快,但是如果你的项目中业务场......
  • 一个简单SpringMVC的实现
    之前学习时候,是使用老师的自定义的一个SpringMVC模式,今天突然好奇,官方的SpringMVC架构咋弄,于是带着好奇的心去实现完成它其实这个模式也比较简单1:首先,我们创建一个maven,web的网页项目,JDK选择1.8版本   2:在创建完之后,鼠标右键点击main目录,同时选择java和resource包按回车......
  • Spring——springboot启动源码分析
    摘要主要介绍的有关于Spring的Spring的事务注解原理和实战(SpringFramework)一、什么是事务的传播?简单的理解就是多个事务方法相互调用时,事务如何在这些方法间传播。:举个栗子,方法A是一个事务的方法,方法A执行过程中调用了方法B,那么方法B有无事务以及方法B对事务的要求不同都会对......
  • SpringCloud——SpringCloud Alibaba Sentinel原理与实战
    摘要在微服务架构中,我们将系统拆分成了很多服务单元,各单元的应用间通过服务注册与订阅的方式互相依赖。由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延迟而这些问题会直接导致调用方的对外服务也出现延......
  • SpringCloud——SpringCloud Sleuth原理与实战
    摘要SpringCloudEureka是SpringCloudNetflix微服务套件中的一部分,它基于NetflixEureka做了二次封装,主要负责完成微服务架构中的服务治理功能。SpringCloud通过为Eureka增加了SpringBoot风格的自动化配置,我们只需通过简单引入依赖和注解配置就能让SpringBoot构建的微服务......
  • SpringBoot——注解@SpringBootConfiguration源码分析
    摘要SpringMVC是一个MVC开源框架,用来代替Struts。它是Spring项目里面的一个重要组成部分,能与SpringIOC容器紧密结合,以及拥有松耦合、方便配置、代码分离等特点,让JAVA程序员开发WEB项目变得更加容易。SpringMVC的异常处理?1.web.xml中异常处理通常为了给用户提供良好......
  • Spring——spring MVC源码分析与实战
    摘要SpringWebMVC是基于ServletAPI构建的原始Web框架,基于servlet3.0的规范实现的web框架。springmvc主要实现请求的接受,请求解析,请求响应等步骤。本文将详细的介绍springMVC的源码和springMVC的启动流程与相关原理。一、传统springMVC执行流程用户发送请求至前端控制器Dispa......