美文网首页学习资料Java服务器端编程程序员
顾名而思义---深入理解spring中IOC的概念

顾名而思义---深入理解spring中IOC的概念

作者: Andy_1777 | 来源:发表于2017-03-29 16:40 被阅读42次

    在学习Spring框架的过程中,大家都会遇到IOC(Inverse of Control)的概念,翻译成中文,即是控制反转的意思。事实上笔者在第一次接触到这一概念的时候,也是一头雾水,怎么控制?怎么反转?

    当然,从字面上理解这一概念,会陷入到咬文爵字,最后顶多是知其然而不知其所以然的怪圈,要想深入的理解IOC的概念,还需要理解这一运行机制的原理以及达到的目的。

    以下部分分为分析和实验


    分析

    我们可以将Spring理解成一个大工厂,可以将所有对象创建和依赖关系的维护,都交给Spring管理。既然是工厂,那么总要生产工具的,而Spring工厂就是用于生成bean

    下面来分析一个需求,要new一个对象,并且调用它的方法,我们如何处理?

    和初接触Java的朋友想法一样,我们使用一个类,直接new一个对象,调用它的方法即可。这种情况下,创建对象的权限由开发者手动控制(Control)

    而在spring中,将由Spring创建对象实例,那么这个过程就是IOC:将创建对象的权限(Control)反转(Inverse)给了spring。因此之后我们需要实例化对象时,从Spring中获得即可。


    实验

    1.导入jar包以及依赖。

    2.编写目标类和接口

    a)接口

    b)实现类

    3.编写配置文件

    bean标签中有两个字段,其中:

    Class:需要创建实例的全限定类名。既然需要Spring帮我们生产对象,那我们必须提前让Spring知道类的信息,因为这个类以后要交给Spring控制,即将这个类的控制权限(Control)反转(Inverse)给了Spring。

    Id:以后我们从Spring容器获得实例时使用的名字,可以理解为Spring为这个Bean起的别名。

    4.Junit测试

    测试表明,两者输出结果一样。


    结束语

    闻道有先后,术业有专攻。遇到问题不要灰心,觉得为什么别人能理解,我怎么理解不了。其实弄懂了原理后,一切就水到渠成了。这种情况下,多花点时间也是值得的了!

    相关文章

      网友评论

        本文标题:顾名而思义---深入理解spring中IOC的概念

        本文链接:https://www.haomeiwen.com/subject/bptyottx.html