Spring核心之IoC

    在J2EE平台中,Spring是一种优秀的轻量级企业应用解决方案。它的核心技术就是IoC(控制反转)和AOP(面向切面编程)。

1.什么是控制反转与依赖注入。

    IoC的英文是Inversion of Control即控制反转。开发者在使用类之前,需要先创建对象的实例。但是IoC将创建实例的任务交给IoC容器,这样开发者在用代码时直接使用类的实例,这就是IoC控制反转。Martin Fowler专门写了一篇文章讨论控制反转的概念,并提出了一个更为准确的概念,叫做依赖注入(Dependency Injection)

    依赖注入有3种类型,Spring支持后两种:

  • 接口注入。接口注入基于将调用与实现分离,这种依赖注入方式必须实现容器所规定的接口,使程序代码和容器的API绑定在一起,不是理想的注入方式。
  • Setter注入。基于JavaBean的Setter方法为属性赋值。在实际中应用广泛示例如下:
  • public class User{
       private String name;
    
       public String getName(){
             return name;
        }  
    
       public void seName(String name){
            this.name = name;
        }  
    }
  •  构造器注入。基于构造方法为属性赋值,容器通过调用类的构造方法,将其所需的依赖关系注入其中,示例如下:

  • public class User{
       private String name;
    
       public User(String name){   //构造器
             this.name = name;     //为属性赋值
        }    
    }

     使用构造方法为属性赋值,好处是在实例化对象的同时就完成了属性的初始化。

     控制反转与依赖注入的优点是?

    由于在控制反转的模式下把对象都放入XML文件中定义,所以开发人员实现一个子类将变得更为简单,修改XML文件即可。而且,控制反转颠覆了“使用对象前必须创建”的传统观念,在控制反转模式下,开发人员不再关注类是如何创建的,从容器中抓取一个类然后直接调用即可。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。