Sprint学习笔记1——IOC容器

IOC概念和原理

控制反转:把对象创建和对象之间的调用过程交给Spring管理

目的:降低耦合度


底层原理

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

原理图解

  1. 原始方式:耦合度过高。

在这里插入图片描述

  1. 使用工厂模式:一种解决方案,降低一定的耦合度,但依然存在。

    (static可以直接用类调用方法,不需要new UserFactory。比如在现实中不可能每次生产一样东西就造一个工厂。)

在这里插入图片描述

  1. IOC模式

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

<bean id="user" class="com.User"></bean>

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

class UserFactory{
	public static User getUser(){
		String classValue = class属性值;	//xml解析
		Class clazz = Class.forName(classValue);	//通过反射创建对象
		return (User)clazz.newInstance();
	}
}

第三步:像上述工厂模式关系一样调用。

IOC接口

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

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

  • BeanFactory

    加载配置文件的时候不会创建对象,在获取对象或使用时才会创建对象。

  • ApplicationContext(常用)

    加载配置文件时就会把在配置文件中的对象进行创建(饿汉式)。用内存换取时间,将这些耗时的项目在服务器启动时便进行处理在Web项目时更合适。

ApplicationContext实现类

ApplicationContext context = 
		new ClassPathXmlApplicationContext("bean.xml");

ApplicationContext context = 
		new FileSystemXmlApplicationContext("D:\Java\bean.xml");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值