Spring整理1 -- 实现模块的切换

对象的生成由Spring通过读取配置文件(applicationContext.xml)动态设置,主调类仅仅面对接口编程,无需知道具体的实现类。这样我们就可以根据配置文件进行实现类的切换。从而降低耦合性。对象的生成,由框架通过反射机制完成,控制权从前端主程序转化到了框架,       这种思想叫做控制反转(IOC),Inverse Of Control,可以很好的实现模块切换。

例如:实现USB模拟程序

配置文件

<beans>

       <bean id="disk" class="usbdisk.UsbDisk"></bean>

</beans>

程序

package app;

 

public interface IDISK {

       public abstract String readInfo();

       public abstract void writeInfo(String msg);

}

 

package usbdisk;

 

import app.IDISK;

 

public class UsbDisk  implements IDISK{

       public String readInfo(){

              return "U盘读过来的信息";

       }

       public void writeInfo(String msg){

              System.out.println("U盘写出信息:" + msg);

       }

}

 

package movedisk;

 

import app.IDISK;

 

public class MoveDisk implements IDISK{

       public String readInfo(){

              return "从移动硬盘读过来的信息";

       }

       public void writeInfo(String msg){

              System.out.println("向移动硬盘写出信息:" + msg);

       }

}

 

import java.awt.Frame;

 

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.FileSystemXmlApplicationContext;

 

import app.IDISK;

 

 

public class Test {

 

 

       public static void main(String[] args) {

              ApplicationContext context =

new FileSystemXmlApplicationContext("applicationContext.xml");

              IDISK disk =( IDISK)context.getBean("disk ");

//根据配置文件的内容,实例化对象并且返回

              disk.readInfo ();

       }

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值