该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
类1:
public class Chinese implements Person
@Resource
private Axe axe
public Chinese(){
System.out.println("调用Chinese无参构造方法。。。。。");
}
@Override
public void useAxe() {
System.out.println(axe);
axe.chop() ;//调用注入的bean的方法
}
@Override
public void say() {
// TODO Auto-generated method stub
}
类2:
public class SteelAxe implements Axe{
@Override
public String chop() {
System.out.println("*********************");
return "调用了SteelAxe的Chop方法!!!!!!!" ;
}
}
配置文件:spring.xml
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
调用:
public class BeanTest {
public static void main(String[] args) {
ApplicationContext ctx = new FileSystemXmlApplicationContext("spring.xml") ;
System.out.println(java.util.Arrays.toString(ctx.getBeanDefinitionNames()));
Chinese chinese = ctx.getBean("chinese", Chinese.class)
chinese.useAxe();
}
}
调用时发生了空指针,空指针的原因是axe没有注入进来,axe是null,不知道为什么,求大神解答