Axe 接口
package org.zbq.spring;
public interface Axe {
public String chop();
}
Axe实现类 SteelAxe
package org.zbq.spring;
public class SteelAxe implements Axe {
@Override
public String chop() {
return "钢斧砍柴很快";
}
}
Axe实现类StoneAxe
package org.zbq.spring;
public class StoneAxe implements Axe {
@Override
public String chop() {
return "石斧砍柴很慢";
}
}
Person接口
package org.zbq.spring;
public interface Person {
public void userAxe();
}
Person实现类 Chinese
package org.zbq.spring;
public class Chinese implements Person {
private Axe axe;
public Axe getAxe() {
return axe;
}
public void setAxe(Axe axe) {
this.axe = axe;
}
@Override
public void userAxe() {
System.out.println(axe.chop());
}
}
applicationContext.xml (放在项目目录中不在src中)
<?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.0.xsd">
<bean id="chinese" class="org.zbq.spring.Chinese">
<property name="axe">
<ref local="steelAxe"/>
</property>
</bean>
<bean id="stoneAxe" class="org.zbq.spring.StoneAxe"/>
<bean id="steelAxe" class="org.zbq.spring.SteelAxe"/>
</beans>
Client
package org.zbq.spring;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class Client {
public static void main(String[] args) {
ApplicationContext act = new FileSystemXmlApplicationContext("applicationContext.xml");
Person p = (Person) act.getBean("chinese");
p.userAxe();
}
}