Spring的IOC学习
Posted robin008
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring的IOC学习相关的知识,希望对你有一定的参考价值。
之前看过ioc的例子,但是一直不能将其说清楚,只知道创建对象的工做交给框架了,不用new了,但是这样做的原理是什么?为什么要这样做还是一无所知。可见ioc的底层原理还是用到了反射的知识。
反射是一种根据给出的完整类名(字符串方式)来动态地生成对象,这种编程方式可以让对象在生成时才决定到底是哪一种对象,因此可以这样假设,在某个配置文件,该文件已写好bookDaoImpl类的完全限定名称,通过读取该文件而获取到bookDao的真正实现类完全限定名称,然后通过反射技术在运行时动态生成该类的对象,最终赋值给bookDao接口
通过修改配置文件而非修改代码可以实现较大的解耦。
然后利用反射在运行时为BookDao创建实际实现类,包括BookServiceImpl的创建,Spring的IOC容器都会帮我们完成,而我们唯一要做的就是把需要创建的类和其他类依赖的类以配置文件的方式告诉IOC容器需要创建那些类和注入哪些类即可。
以上是关于Spring的IOC学习的主要内容,如果未能解决你的问题,请参考以下文章