Java框架 Spring (五)IOC/DI的意义:面向接口

前言

首先,面向接口编程和面向对象编程并不是平级的,它并不是比面向对象编程更先进的一种独立的编程思想,而是附属于面向对象思想体系,属于其一部分。或者说,它是面向对象编程体系中的思想精髓之一。完全的面向接口编程,"java代码"不需要知道是哪个实现类,下面是实验,具体面向接口思想参见

模拟文档操作来理解IOC

先写一个接口

public interface DocumentIO {
	public void readDocumend();
	public void wrightDocumend();
}

然后是实现类

      写两个类,一个操作World一个操作Excle,这两个类分别实现 DocumentIO接口 ,

public class Documend3Word implements DocumentIO {

	@Override
	public void readDocumend() {
		System.out.println("word read");

	}

	@Override
	public void wrightDocumend() {
		System.out.println("word wight");

	}

}

       Excle类同理

管理类

public class Manger {
	private DocumentIO document;

	public DocumentIO getDocument() {
		return document;
	}

	public void setDocument(DocumentIO document) {
		this.document = document;
	}

	public void readDocument() {
		this.document.readDocumend();
	}

	public void writeDocument() {
		this.document.wrightDocumend();
	}
}

配置文件

<bean id="manger" class="club.laobainb1314.p06.Manger">
	<property name="document">
		<!-- 这里指定实现接口的类  -->
		<ref bean="world" />
	</property>
</bean>

<bean id="world" class="club.laobainb1314.p06.Documend3Word" />
<bean id="excle" class="club.laobainb1314.p06.Documend3Excle" />

测试

@Test
void test07() {
	ApplicationContext appc = new ClassPathXmlApplicationContext(XML);
			
	Manger m = (Manger) appc.getBean("manger");
	System.out.println("---↓↓↓Spring---");
	m.writeDocument();
	m.readDocument();
		
}

现在修改配置文件 

END 

发布了35 篇原创文章 · 获赞 23 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_34181343/article/details/92798814
今日推荐