最近在看spring mvc 
写测试代码的时候遇到一个问题  
请大家帮忙解决下 spring controller代码@Controller
@RequestMapping(value="/test",method=RequestMethod.POST)
public class TestController{

private TestManager testManager;

public TestManager getTestManager() {
return testManager;
} public void setTestManager(TestManager testManager) {
this.testManager = testManager;
} @SuppressWarnings("unchecked")
@RequestMapping("/doquery")
public @ResponseBody String doTestQuery(@RequestParam("op_code") String op_code ){ Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("op_code", op_code);
Map resultMap = testManager.doTestQuery(paramMap);
System.out.println(JSONObject.fromObject(resultMap).toString());
return JSONObject.fromObject(resultMap).toString();
}


}
执行到Map resultMap = testManager.doTestQuery(paramMap);的时候会报testManager空指针的问题 spring。xml的配置是 <!-- springMVC专用 -->
<bean id="testManager" class="com.myself.tmp.springmvc.manager.impl.TestManagerImpl"> 
</bean>

<bean id="testController" class="com.myself.tmp.springmvc.controller.TestController">
</bean> 
我自己的理解是将testManager testController都交个spring容器管理了 
而且自己写junit测试都是有的 但是每次都会出现空指针的问题 
请大家帮忙看看

解决方案 »

  1.   

    当然了,你没有注入可不空指针吗?<bean id="testController" class="com.myself.tmp.springmvc.controller.TestController">
       <property name="testManager" ref="testManager" />
    </bean> 
      

  2.   


    这个写了也是一样   而且好像spring2.5之后 只要是写了set方法 就自动注入了 
    不过还是谢谢您了 
      

  3.   


    怎么会这样啊。 再换标注注入试一试。
    没有这么回事。注入,只有两个办法,一个是xml配置,一个是用标注。
      

  4.   

    @Autowired
    private TestManager testManager;
    这样写试试看
      

  5.   

    你是直接跑还是服务器运行后测junit?