spring解耦原理

spring解耦原理

  1. 普通java代码实现功能
    
    class Zhang{
        void doSome(){
        Xing xi=new Xing();
        Xi.doSome();
        XXX x = new XXX();
        x.xx();
        }
    }
    class Xing{
        void doSome(){
        XXX x = new XXX();
        x.XX();
        XXX x = new XXX();
        x.xx();
        }
    }
    
    

普通java实现功能时,每个类中都要new一些对象,也就是所谓的依赖关系,类与类之间直接互相调用,互相依赖,关系错综复杂,如下图。

![图片来自互联网][1]
  1. Spring实现Bean管理
    
            class Person{
            @Resource
            Private XXX xx;
            @Resource
            Private YYY yy;
            @Resource
            Private ZZZ zz;
             
            void doSome(){
            xx.xx();
            yy.yy();
       
           }
        }
        class Chinese{
            @Resource
            Private Person ps;
    
             void doSome(){
               ps.doSome();
             }
        }
    
    

对象在使用的时候不是去new,而是通过IOC容器获取,对象与对象之间不再有直接联系,他们通过中间人IOC容器联系。
此处输入图片的描述

  1. 总结

    Spring IOC 容器 通过反射拿到对象的实例,使类的功能更加单一化,减少了类与类的依赖关系,So,降低了耦合

原文地址:https://www.cnblogs.com/zhanglixuan/p/6725854.html