在学习spring mvc的时候,dao经测试无问题,问题:在helloController中,有个dao的接口(IHelloDao),使用了spring注入功能,这个接口有个setter方法,我尝试在这个set方法中打印这个接口的实现,以测试spring自动注入是否工作,经测试在这个set方法中,spring注入成功。问题来了,当我在tomcat中运行并访问这个controller时报nullPointerException异常,调试得知,IHelloDao的实现为null。以下是解决办法:
default-autowire="byName"
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" default-autowire="byName">
<bean name="/hello.do" class="web.HelloController"></bean>
</beans>
我不知道为什么service中已经注入成功的dao,为什么在handleRequest方法中就为NULL呢?
继续探索spring mvc!