读书人

Spring拾掇1 - 实现模块的切换

发布时间: 2012-10-06 17:34:01 作者: rapoo

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

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

例如:实现USB模拟程序

配置文件

<beans>       <bean id="disk" name="code">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 ();       }}

?

读书人网 >软件架构设计

热点推荐