SegmentFault controlleradvice的问题
2016-04-15T11:41:50+08:00
https://segmentfault.com/feeds/tag/controlleradvice
https://creativecommons.org/licenses/by-nc-nd/4.0/
为什么使用ControllerAdvice注解的BaseController中的InitBinder注解方法会执行很多次
https://segmentfault.com/q/1010000004944778
2016-04-15T11:41:50+08:00
2016-04-15T11:41:50+08:00
xiuhuwang
https://segmentfault.com/u/xiuhuwang
0
<p>无意中打印了一下日志,发现每次执行一个请求,InitBinder注解的那个方法,会直接很多次,但请求的那个方法并未执行多次。</p>
<p>@ControllerAdvice<br>public class BaseController {</p>
<pre><code>@InitBinder
protected void initBinder(ServletRequestDataBinder binder) throws Exception {
// 对于需要转换为Date类型的属性,使用DateEditor进行处理
binder.registerCustomEditor(Date.class, new DateEditor());
System.out.println("initBinder");
}</code></pre>
<p>}</p>
<p>@Controller<br>@RequestMapping(value = "/comicController")<br>public class ComicController extends BaseController {</p>
<pre><code>@Autowired
private BookService bookService;
@RequestMapping(value = "/getLatestList", method = RequestMethod.GET)
@ResponseBody
public ReturnResult getLatestList(ComicVO comicVO) {
return bookService.getLatestList(comicVO);
}
</code></pre>
<p>}</p>