IOC理论

1. 为什么使用控制反转

传统的new方式:耦合度太高,比如UserDao的路径变化了,调用UserDao的所有UserService都需要改,十分麻烦

image-20210201155746629

通过工厂模式解耦合:当UserDao路径变化了,只需要改UserFactory中UserDao的创建就可以了。

image-20210201160140387

目前控制反转IOC方式:以上工厂模式还是有一定的缺点,需要更改工厂类,也就是需要改代码,改代码整个项目需要重新编译,十分麻烦。因此,通过xml配置文件读取类路径,再通过反射创建对象,只要更改配置文件的值即可,耦合度进一步降低。

image-20210201161101859

2. IOC接口

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

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

    • BeanFactory: IOC 容器基本实现,是Spring内部的使用接口,不提供开发人员进行使用。
      加载配置文件时候不会创建对象,在获取对象(使用)才去创建对象。
    • ApplicationContext: BeanFactory 接口的子接口,提供更多更强大的功能,一般由开发人
      员进行使用。
      加载配置文件时候就会把在配置文件对象进行创建。
  3. ApplicationContext有两种实现类

    • ClassPathXmlApplicationContext:类路径
    • FileSystemXmlApplicationContext:绝对路径
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值