Spring-3:IOC概念及与传统new方式的区别

控制反转-Inversion Of Control

1、对象存哪去? 分析:由于我们是很多对象,肯定要找个集合来存。这时候有 Map 和 List 供选择。 到底选 Map 还是 List 就看我们有没有查找需求。有查找需求,选 Map。 所以我们的答案就是 在应用加载时,创建一个 Map,用于存放三层对象。 我们把这个 map 称之为容器。
2、还是没解释什么是工厂? 工厂就是负责给我们从容器中获取指定对象的类。这时候我们获取对象的方式发生了改变
原来: 我们在获取对象时,都是采用 new 的方式。是主动的。
在这里插入图片描述
现在: 我们获取对象时,同时跟工厂要,有工厂为我们查找或者创建对象。是被动的。
在这里插入图片描述
这种被动接收的方式获取对象的思想就是控制反转,它是 spring 框架的核心之一。

public class Client {

    public static void main(String[] args) {
    	//new方式获取资源,程序间高耦合。
        IAccountService as = new AccountServiceImpl();
        //IOC方式通过工厂类获取资源,降低了程序间的耦合性。
        IAccountService as = (IAccountService) BeanFactory.getBean("accountService");
         as.saveAccount();
    }
}

注:其他代码见之前的博客。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值