美文网首页
spring3学习笔记(二)初识IOC

spring3学习笔记(二)初识IOC

作者: 菜鸟要逆袭 | 来源:发表于2018-03-17 14:09 被阅读0次
    什么是IOC

    IOC即控制反转,具体的教科书式的及时可以百度。在我的理解当中IOC就是在spring中,将对象的创建交给spring进行管理,不需要手动去创建所需要的对象。这很好的实现了实际开发中需要特别注意的低耦合

    IOC出现之前的创建对象过程
    /*创建一个普通类,调用其中的aFunciton方法*/
    public class A{
      public void aFunction(){
      ...  
      }
    }
    /*第一种:普通实现,缺点耦合程度高*/
    A a = new A();
    a.aFunction();
    
    /*第二种:工厂模式实现,缺点servlet和工厂之间依然存在耦合*/
    public class Factory{
      //提供返回A类对象的方法
      public static AService getService(){
        return new AService();  
      }
    }
    public class AServlet{
       AService aService = Factory.getService();
       aService .aFunction();
    }
    
    IOC的底层实现过程

    IOC实现的底层所需要的技术有:xml配置文件、dom4j解析xml、工厂设计模式、反射
    下面用代码来演示IOC的底层实现过程

    //在UserServlet类中调用UserService类中的userFunction方法的实现过程
    public class UserService{
        public void userFunction(){
          ......  
        }
    }
    public class UserServlet{
       //自动得到UserService的对象,不用new创建
       UserService userService = Factory.getService();
       userService.userFunction();
    }
    
    //创建xml文件配置文件,配置对应类
    <bean id="userService" class="com.hobbes.UserService"/>
    
    //创建工厂类
    public class Factory{
      public static UserService getService(){
        //1.使用dom4j解析xml文件
        //2.根据id=“userService”,得到id值对应的class属性值
        //3.根据反射创建类对象
        Class clazz = Class.forName("userService");
        UserService uService = clazz.newInstance();
        //4.返回所创建对象
        return uService;  
      }
    }
    

    看了上面的底层实现过程,想必你已经对IOC有了一些初步的认识,IOC可以根据xml文件自动创建我们想要的对象,降低类与类之间的耦合度,从而减少类之间的依赖性。

    相关文章

      网友评论

          本文标题:spring3学习笔记(二)初识IOC

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