欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring - IOC底层原理

程序员文章站 2022-05-24 09:48:41
...

1、什么是IOC

(1)控制反转,把对象的创建和创建对象的过程交给Spring进行管理
(2)使用目的主要是为了降低代码耦合

2、 ICO的底层原理

1、工厂模式、XML、反射

	//需要被使用的对象
	class UserDao{
		add(){
			.....
		}
	}
	//工厂类
	class UserFactory{
		public static UserDao getUserDao(){
			return new UserDao();
		}
	}
	//调用类
	class UserService{
		execute(){
			//由工厂类获得所需对象,耦合度降低
			UserDao dao = UserFactory().getUserDao();
			dao.add();
		}
	}

2、IOC实现解耦的过程

	//第一步 : xml配置文件中,配置创建对象
	<bean id="对象id(唯一)" class="需要创建的对象的全路径">
	//第二步:创建工厂类
	class UserFactory{
		public static UserDao getUserDao(){
			//1、xml解析
			String classValue = xml中bean的class属性值;
			//2、通过反射来创建对象
			Class clazz = Class.forName(classValue);
			//3、创建对象 (使用配置文件以及反射实现进一步降低耦合)
			return (UserDao)clazz.newInstance();
		}
	}

3、IOC(接口)

1、IOC思想基于IOC容器完成,IOC容器底层就是对象工厂
2、Spring提供了IOC容器实现的两种方式:(两个接口)
(1)BeanFactory:IOC容器的基本实现方式,是Spring内部使用的接口,一般不使用这个接口
特点: 在加载配置文件时不会创建对象,在使用(获取)对象的时候才会去创建对象
(2)ApplictionContext:是BeanFactory接口的子接口,提供更多更强大的功能。
特点: 在加载培训文件时,会把配置文件中所有的bean都会去创建对象
(3)ApplictionContext接口的实现类

  • ClassPathXmlApplication Context:只需填写项目下配置文件的路径
  • FileSystemXmlApplicationContext:在使用时需要写上配置文件在电脑系统中的盘符全路径
相关标签: java ioc spring

上一篇: JSF国际化配置

下一篇: JSF 国际化