我在做Spring in action 那本书中Injecting non-Spring beans的例子,该配的包都配了,还是报空指针错误,希望高手指点一下,谢谢。 <aop:spring-configured/>
<bean id="pianist" class="com.springinaction.springidol.Instrumentalist" abstract="true">
<property name="song" value="Chopsticks"/>
<property name="instrument">
<bean class="com.springinaction.springidol.Piano"/>
</property>
</bean>@Configurable("pianist")
public class Instrumentalist implements Performer {
public Instrumentalist() {
} public void perform() throws PerformanceException {
System.out.print("Playing " + song + " : ");
instrument.play(); }ApplicationContext ctx = new ClassPathXmlApplicationContext(
"com/springinaction/springidol/spring-idol.xml"); Instrumentalist pianist = new Instrumentalist();
pianist.perform();Exception in thread "main" java.lang.NullPointerException
at com.springinaction.springidol.Instrumentalist.perform(Instrumentalist.java:19)
at com.springinaction.springidol.JugglerApp.main(JugglerApp.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
Playing null :
<bean id="pianist" class="com.springinaction.springidol.Instrumentalist" abstract="true">
<property name="song" value="Chopsticks"/>
<property name="instrument">
<bean class="com.springinaction.springidol.Piano"/>
</property>
</bean>@Configurable("pianist")
public class Instrumentalist implements Performer {
public Instrumentalist() {
} public void perform() throws PerformanceException {
System.out.print("Playing " + song + " : ");
instrument.play(); }ApplicationContext ctx = new ClassPathXmlApplicationContext(
"com/springinaction/springidol/spring-idol.xml"); Instrumentalist pianist = new Instrumentalist();
pianist.perform();Exception in thread "main" java.lang.NullPointerException
at com.springinaction.springidol.Instrumentalist.perform(Instrumentalist.java:19)
at com.springinaction.springidol.JugglerApp.main(JugglerApp.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
Playing null :
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货