Spring IOC Demo

实现步骤:

1、创建工程并添加Spring支持

143714_HeLu_2365309.jpg

2、编写bean

package com.jack.bus;

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class Food {

	private String name;

}
package com.jack.bus;

public abstract class Person {

	public abstract void eat();
}
package com.jack.impl;

import lombok.Getter;
import lombok.Setter;

import com.jack.bus.Food;

public class Apple extends Food {
	@Setter
	@Getter
	private String name;
}
package com.jack.impl;

import lombok.Getter;
import lombok.Setter;

import com.jack.bus.Food;

public class Orange extends Food {
	@Setter
	@Getter
	private String name;
}
package com.jack.impl;

import lombok.Setter;

import com.jack.bus.Food;

public class Man {
	@Setter
	Food food;

	public void eat() {
		System.out.println("man eating " + food.getName());
	}
}

3、编写配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">

	<bean id="man" name="m" class="com.jack.impl.Man">
		<property name="food">
			<!-- 下面这一句实现了依赖关系 -->
			<ref local="apple" />
		</property>
	</bean>

	<bean id="apple" class="com.jack.impl.Apple">
		<property name="name">
			<value>Apple</value>
		</property>
	</bean>

	<bean id="orange" class="com.jack.impl.Orange">
		<property name="name">
			<value>Orange</value>
		</property>
	</bean>

</beans>

4、测试

package com.test;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

import com.jack.impl.Man;

public class Testing {
	public ApplicationContext getAC() {
		ApplicationContext ac = new FileSystemXmlApplicationContext(
				"src/applicationContext.xml");
		return ac;
	}

	@Test
	public void eatingTest() {
		Man man = (Man) getAC().getBean("man");
		man.eat();
	}
}


运行结果:

144029_qHRd_2365309.jpg


转载于:https://my.oschina.net/zhanggongming/blog/668678

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值