spring3学习笔记(二)初识IOC

2018-03-17  本文已影响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文件自动创建我们想要的对象,降低类与类之间的耦合度,从而减少类之间的依赖性。

上一篇下一篇

猜你喜欢

热点阅读