深入理解Spring MVC 3(三)
十二、如何把全局异常记录到日志中?
在 前的配置中,其中有一个属性warnLogCategory,值是“SimpleMappingExceptionResolver类的全限定名”。我是 在SimpleMappingExceptionResolver类父类AbstractHandlerExceptionResolver类中找到这个 属性的。查看源码后得知:如果warnLogCategory不为空,spring就会使用apache的 org.apache.commons.logging.Log日志工具,记录这个异常,级别是warn。
值:“org.springframework.web.servlet.handler.SimpleMappingExceptionResolver”,是“SimpleMappingExceptionResolver类的全限定名”。这个值不是随便写的。??因 为我在log4j的配置文件中还要加入 log4j.logger.org.springframework.web.servlet.handler.SimpleMappingExceptionResolver=WARN, 保证这个级别是warn的日志一定会被记录,即使log4j的根日志级别是ERROR。
?
?
?
?
?十三、如何给spring3 MVC中的Action做JUnit单元测试?
?使用了spring3 MVC后,给action做单元测试也很方便,我以前从来不给action写单元测试的,再在不同了,方便了,所以一定要写。
?
?JUnitActionBase类是所有JUnit的测试类的父类
?
- /**???*?ajax测试??*?http://127.0.0.1/mvc/order/ajax???*/????????@RequestMapping("/ajax")????@ResponseBody????public?Object?ajax(HttpServletRequest?request){????????List<String>?list=new?ArrayList<String>();????????list.add("电视");????nbsp;???????list.add("洗衣机");????????list.add("冰箱");????????list.add("电脑");????????list.add("汽车");????????list.add("空调");????????list.add("自行车");????????list.add("饮水机");????????list.add("热水器");????????return?list;????}????
?