IOC:一个用xml来定义的生成对象的模式
//human接口
package com.spring.test;
public class American implements Human {
@Override
public void eat() {
System.out.println("American eat");
}
@Override
public void walk() {
System.out.println("American walk");
}
}
//实现Human接口的两个子类
package com.spring.test;
public class Chinese implements Human {
@Override
public void eat() {
System.out.println("chinese eat");
}
@Override
public void walk() {
System.out.println("chinese walk");
}
}
----------
package com.spring.test;
public class American implements Human {
@Override
public void eat() {
System.out.println("American eat");
}
@Override
public void walk() {
System.out.println("American walk");
}
}
package com.spring.test;
public class ClientTest {
public static void main(String[] args) {
ApplicationContext ctx = new FileSystemXmlApplicationContext("bean.xml");
Human human = null;
human = (Human) ctx.getBean(CHINESE);
human.eat();
human.walk();
human = (Human) ctx.getBean(AMERICAN);
human.eat();
human.walk();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- id 就是ctx.getBean()的参数值,class就是一个全类名(包名+类名) -->
<bean id="Chinese" class="com.spring.test.Chinese" />
<bean id="American" class="com.spring.test.American" />
</beans>
刚刚开始学习Spring,乍一眼被IOC,DI,AOP各种说法轰炸的遍体鳞伤。从网上找到的一个IOC简单例子
(转自:http://dev.yesky.com/400/2508400.shtml),记录下来,作为自己学习的积累,方便自己回顾。