Spring控制反转和

Spring

Spring框架由大约20个功能模块组成,这些模块被分为六个部分,分别是Core Container,DataAccess/Integration,Web,Aop(Aspect Oriented Programming),Instrumentation及Test。


Spring Core是框架的最基础部分,提供了IoC特性,SPring Context为企业级开发提供了便利和集成的工具,Spring AOP是基于Spring Core的符合规范的面向切面编程的实现。Spring JDBC 提供了JDBC的抽象层,简化了JDBC代码,同时使代码更健壮。Spring ORM对市面上流行的ORM框架提供了支持,Spring Web为Spring再web应用程序中的使用提供了支持。


Spring IoC(控制反转)
控制反转也称依赖注入,是面对对象编程中的一种设计理念,用于降低程序代码间的耦合度。在不使用Spring时,创建对象需要我们主动去new,A和B要一起完成一件事,A需要用到B这件事才能做到,这就叫A对B产生了依赖,使用了Spring以后,不需要我们去手动new对象,把new对象的权利交给了第三方,这样A就不再依赖于B,所以控制反转I是说创建对象的控制权进行转移,以前创建对象的主动权和创建时机是由自己把控的,而现在这种权力转移到第三方


例:
创建一个汉堡的接口

public interface Humburger {
    public  void eat();
}

创建三个汉堡的子类,鸡肉汉堡,猪肉汉堡和牛肉汉堡,并实现汉堡接口的eat方法

public class BeefHumburger implements Humburger {
    @Override
    public void eat() {
        System.out.println("正在吃牛肉汉堡");
    }
}

public class CheckenHumburger implements Humburger {
    @Override
    public void eat() {
        System.out.println("正在吃鸡肉汉堡");
    }
}


public class PigHumburger implements Humburger {
    @Override
    public void eat() {
        System.out.println("正在吃猪肉汉堡");
    }
}

创建一个简单工厂,用于降低耦合用以实现依赖反转,工厂里对创建什么汉堡对象进行判断

public class Factory {
    public static Humburger getHanbugur(String str){
        if (str.equals("鸡肉")){
            return new CheckenHumburger();
        }else if(str.equals("牛肉")){
            return  new BeefHumburger();
        }else if (str.equals("猪肉")){
            return  new PigHumburger();
        }else {
        return null;
    }
    }
}

编写测试类

public class Test {
    public static void main(String[] args) {
        Humburger im=Factory.getHanbugur("鸡肉");
      im.eat();
    }
}

在示例中,创建对象和判断创建什么对象都交给了工厂Factory。


如何创建一个Spring项目
Spring控制反转和_第1张图片

Spring控制反转和_第2张图片

Spring控制反转和_第3张图片

项目创建完毕后有一个lib包,里面有Spring相关的jar包就代表Spring项目创建成功,下面需要新建一个与src同级的包,并在里面创建并配置Spring配置文件
Spring控制反转和_第4张图片

Spring控制反转和_第5张图片

此方法需在有网络的前提下使用

你可能感兴趣的:(Spring控制反转和)