首页 > 其他分享 >[Spring框架]IOC容器

[Spring框架]IOC容器

时间:2022-08-19 14:12:56浏览次数:61  
标签:容器 配置文件 BeanFactory Spring 创建对象 接口 IOC

一、IOC容器

1. 什么是IOC?

  • 把对象创建和对象之间的调用过程,交给Spring进行管理
  • 使用目的:降低耦合度

2. IOC底层?

  • xml解析
  • 工厂模式
  • 反射

IOC是一个容器,本质上就是一个对象工厂,在里面可以读取xml配置文件,通过反射创建对象

3. Spring提供的IOC容器实现的两种方式(两个接口)

  1. BeanFactory接口:IOC容器基本实现是Spring内部接口的使用接口,面向 Spring 本身,加载配置文件时候不会创建对象,在获取对象时才会创建对象

  2. ApplicationContext接口:BeanFactory接口的子接口,提供给开发人员使用(加载配置文件时候就会把在配置文件对象进行创建)

ApplicationContext 的主要实现类:

  • ClassPathXmlApplicationContext:从类路径下(bin目录下)加载配置文件
  • FileSystemXmlApplicationContext: 从文件系统中加载配置文件

二者区别

  1. BeanFactory 才是 Spring 容器中的顶层接口,ApplicationContext 是它的子接口。
  2. BeanFactory 和 ApplicationContext 的区别:
  • 创建对象的时间点不一样
  • ApplicationContext:只要一读取配置文件,默认情况下就会创建对象
  • BeanFactory:什么使用什么时候创建对象

标签:容器,配置文件,BeanFactory,Spring,创建对象,接口,IOC
From: https://www.cnblogs.com/vincy9501/p/16601763.html

相关文章

  • SpringBoot-常用配置类
    1.WebMvcConfigMVC的配置类需要继承WebMvcConfigurationSupport类,通过重写方法来实现需要的功能。自定义的对象映射器,设置序列化或反序列化时格式转换。例如:解决了MP雪......
  • SpringBoot 整合flyway
    目录【pom.xml】【启动类】【配置属性类】【配置类】【配置文件】【IDEA插件支持】【参考文章】前言:本文章专用于因版本问题导致springboot整合flyway不成功无法自动迁移......
  • SpringBoot简介
    SpringBoot简介回顾什么是SpringSpring是一个开源框架,2003年兴起的一个轻量级的Java开发框架,作者:RodJohnson 。Spring是为了解决企业级应用开发的复杂性而创建的,简......
  • 解决Docker容器 iptables问题---docker: Error response from daemon: driver failed
    一、问题如下[root@echohyeapp]#dockerrun-itd--namemysql-test-p3306:3306-eMYSQL_ROOT_PASSWORD=123456mysql:5.75ae9dc1c7bf16762e7064a5f3ab0396b1f5ba3a......
  • 关于SpringBoot整合redis使用Lettuce客户端超时问题
    问题起因使用到Lettuce连接redis,一段时间后不操作,再去操作redis,会报连接超时错误,在其重连后又可使用。原因是:Lettuce自适应拓扑刷新(Adaptiveupdates)与定时拓扑刷新(Peri......
  • docker compose搭建redis7.0.4高可用一主二从三哨兵集群并整合SpringBoot【图文完整版
    一、前言redis在我们企业级开发中是很常见的,但是单个redis不能保证我们的稳定使用,所以我们要建立一个集群。redis有两种高可用的方案:HighavailabilitywithRedisSen......
  • echarts 图表容器及大小
    图表容器及大小在快速上手中,我们介绍了初始化ECharts的接口echarts.init。API文档中详细介绍了参数的具体含义,建议理解后再阅读本文。下面,我们就常见的几种使用场景,......
  • 2、spring+mybatis注解+idea+maven
    1、在idea中配置database连接数据库,用来在idea中编写sql脚本操作数据库         2、sql详细脚本如下:1--1.创建部门表2createtabledept3......
  • Spring 01: Spring配置 + IOC控制反转 + Setter注入
    简介Spring框架是一个容器,是整合其他框架的框架他的核心是IOC(控制反转)和AOP(面向切面编程),由20多个模块构成,在很多领域都提供了优秀的问题解决方案特点轻量级:由2......
  • SpringMvc 如何同时支持 Jsp 和 Json 接口?
    后端同学基本都会见过这种场景:在同一个工程中,有些页面使用jsp模版渲染,同时还有其他接口提供Json格式的返回值。为了同时支持这两种场景,我们一般是如何处理的呢? 其实非常......