Spring5学习笔记(二)—— IOC容器

2.1、IOC概念

1.IOC :控制反转,把创建对象和对象之间的调用过程,交给Spring进行管理。

2.使用IOC 目的:为了降低耦合度

3.做入门案例就是IOC 实现

2.2、IOC底层原理

1.xml解析、工厂模式、反射

2.IOC的引入过程

  • 原始方式:

在这里插入图片描述

  • 缺点:耦合度太高了

  • 解决方案:引进了工厂模式

  • 工厂模式:

    在这里插入图片描述

    • 缺点:耦合度未降到最低
  • 目的:把耦合度降到最低限度

  • 解决方案:引入IOC

4.IOC过程:进一步降低耦合度

第一步:xml配置文件,配置创建的对象

<bean id="dao" class="com.spring5.UserDAO"></bean>

第二步:有service类和DAO类,创建工厂类

  • xml进行解析
  • 通过反射创建对象
class UserFactory {
    public static UserDAO getDAO() {
        //1.对xml进行解析
        String classValue = class属性值;
        //2.通过反射创建对象
        Class clazz = Class.forName(classValue);
        //3.创建对象
        return (UserDAO)clazz.newInstance();
    }
}

2.3、IOC接口(BeanFactory)

1.IOC思想基于IOC容器完成,IOC容器底层就是对象工厂

2.Spring提供IOC容器实现两种方式:(两种接口)

  • BeanFactoryIOC容器基本实现,是Spring内部的使用接口,不提供开发人员进行使用。

    • 特点:加载配置文件的时候不会创建对象,在获取对象(或者使用对象)才会去创建对象
  • ApplicationContextBeanFactory接口的子接口,提供了更多更强大的功能,一般是由开发人员进行使用。

    • 特点:加载配置文件时,就会把在配置文件对象进行创建。

3.ApplicationContext接口有实现类

在这里插入图片描述

  • FileSystemXmlApplicationContext
    • 后面需要写上文件的绝对路径
  • ClassPathXmlApplicationContext

4.BeanFactory

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值