Java教程

spring源码学习总结4-IOC-理解IOC

本文主要是介绍spring源码学习总结4-IOC-理解IOC,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、IoC容器基础内容

Spring IoC容器

一个管理Bean的容器

两个基本功能

通过描述管理Bean,包括发布和获取Bean

通过描述完成Bean间的依赖关系

二、理解IOC,控制反转究竟是什么意思

举个例子:
我是一个学生,我想要学英语,我需要一个老师来对我辅导。
实现如下:

public class Student {

    @Autowired
    private Teacher teacher;

    
    public void leanEnglish(Teacher teacher) {
		。。。
    }

	。。。
}

没有IOC的情况:

我需要一个英语老师来对我辅导,所以我要去找一个英语老师,我先来到培训机构,看看他们各个老师的评价,选择一个老师,然后与这个老师沟通课时,课费,辅导内容等等,这些动作都由我来完成。

如果我还想学数学,学语文,我就需要循环几遍上述的操作。

有IOC的情况:

我去学校学习英语,数学和语文,学校直接为我找好了老师,我只需要上课就好了,别的工作都不需要做。

这里的学校就相当于spring。

理解了IOC,来到最难的容器部分。

spring的容器类真的好多好多,刚开始学的时候总是让人晕头转向的,看到类图就想放弃了。

之后我会把容器类分为两类,自己来画类图,只列出最重要的部分。

三、IoC容器分类

这里为了更好理解,将容器分为两类(就是通过名称来区分)

xxxxBeanFactory:Bean工厂(IoC容器)

xxxxApplicationContext:上下文

上下文对Bean工厂是扩展关系,也是持有关系

public class GenericApplicationContext extends AbstractApplicationContext implements BeanDefinitionRegistry {

	private final DefaultListableBeanFactory beanFactory;
	。。。。

}
这篇关于spring源码学习总结4-IOC-理解IOC的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!