“控制反转”( Inversion of Control,IoC)一个大家都很熟悉的名词,而其大而化之的名字却很容易为它的神秘增加一道朦胧的面纱.为了更能描述其特点,于是诞生——“依赖注入”(Dependency Injection),
依赖注入模式主要分为:设置注入,构造子注入和接口注入.
本文只讲述设置注入.
每一个男孩都具有亲吻别人的能力.而且他们都想亲吻女孩.
每一个女孩可以选择由那位男生亲吻她,但是却不告诉别人到底由谁来亲吻她.
public interface Kissable
{
void kiss( Object kisser);
}
public class Boy implements Kissable
{
public void kiss( Object kisser)
{
System.out.println("I was kissed by " + kisser);
}
}
public class Girl
{
private Kissable kissable;
public Kissable getKissable()
{
return kissable;
}
public void setKissable( Kissable kissable)
{
this.kissable = kissable;
}
public void kissSomeone()
{
kissable.kiss(this);
}
}
于是女孩用写信的方式来告诉别人她希望谁来亲吻她.
下面的spring.xml告诉别人女孩希望boy来亲吻她.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="girl" class="com.ftf.pattern.dependencyInjection.setter.Girl">
<property name="kissable">
<ref local="boy" />
</property>
</bean>
<bean id="boy" class="com.ftf.pattern.dependencyInjection.constructor.Boy">
</bean>
</beans>
故事结束了,那么我们再看看这段测试代码:
public class InterfacesTestCase extends TestCase
{
public void testKissing()
{
ApplicationContext ctx = new
FileSystemXmlApplicationContext("bin/spring.xml");
Girl girl = (Girl)ctx.getBean("girl");
girl.kissSomeone();
}
}
分享到:
相关推荐
javaEE 开发中 现在最成熟的框架之一应该就是spring了 spring框架最强大的地方就是实现了依赖注入 也叫控制反转 最近的一个项目中用的就是 spring框架 spring框架是工厂模式的应用结合了MVC的设计思想 大家可以...
Spring Ioc 注解 依赖注入
本项目为Java项目,使用Spring实现依赖注入,实现采用ApplicationContext,不再直接使用XmlBeanFactory方式。适合初学者了解Spring依赖注入的实现。
Spring的依赖注入,与前置通知的实例
Spring依赖注入使用setter设注入demo。完整可运行。
Spring依赖注入使用构造设注入demo。完整可运行。
详解 Spring 3.0 基于 Annotation 的依赖注入实现。。详解 Spring 3.0 基于 Annotation 的依赖注入实现。。
模拟Spring IOC 自己实现依赖注入 自己的Spring 自己的代码模拟spring的依赖注入 自己写的 绝对独一无二
spring依赖注入底层详解,很不错的资源,欢迎大家来下载学习。
java 无需数据库 简单实例 如何实现Spring依赖注入 AOP
通过java代码模拟spring的依赖注入
本项目为Java项目,使用Spring实现依赖注入,适合初学者了解Spring依赖注入的实现。
Spring依赖注入使用静态工厂设注入demo。完整可运行。
Spring依赖注入使用实例工厂设注入demo。完整可运行。
该资源包含了一个利用spring实现的依赖注入的案例,简单易懂。
如果需要给该bean提供一些初始化参数,则需要通过依赖注入方式,所谓的 依赖注入就是通过spring将bean所需要的一些参数传递到bean实例对象的过程(将依赖关系注入到对象中) ,spring的依赖注入有3种方式: ...
java Spring DI依赖注入.rar
NULL 博文链接:https://shmilyaw-hotmail-com.iteye.com/blog/2169569
spring 依赖注入三种方式测试源码,测试细节参考博文http://blog.csdn.net/u010679383/article/details/71305400
模仿Spring依赖注入,代码详细,简单,明了