zoukankan      html  css  js  c++  java
  • 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文件即可。而且,控制反转颠覆了“使用对象前必须创建”的传统观念,在控制反转模式下,开发人员不再关注类是如何创建的,从容器中抓取一个类然后直接调用即可。

  • 相关阅读:
    我的WCF之旅(1):创建一个简单的WCF程序
    网页设计中颜色的搭配
    CSS HACK:全面兼容IE6/IE7/IE8/FF的CSS HACK
    UVa 1326 Jurassic Remains
    UVa 10340 All in All
    UVa 673 Parentheses Balance
    UVa 442 Matrix Chain Multiplication
    UVa 10970 Big Chocolate
    UVa 679 Dropping Balls
    UVa 133 The Dole Queue
  • 原文地址:https://www.cnblogs.com/little-YTMM/p/4528049.html
Copyright © 2011-2022 走看看