SpringMVC是方法级别的测试

SpringMVC是方法级别的测试


SpringMVC和Struts2的区别一文中提到,springMVC是方法级别的拦截,这篇文章将已实际案例来测试springMVC是方法级别的拦截。如有理解的不对的地方,欢迎指教。

TestSingleController.java

package com.qxl.framework.web.controller.test;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/** 
 *
 * @author qxl
 * @date 2016年12月2日 下午2:56:14 
 * @version 1.0.0
 */
@Controller
@RequestMapping("/mytest")
public class TestSingleController {

	ThreadLocal threadLocal = new ThreadLocal();
	
	@RequestMapping("/test1")
	@ResponseBody
	public String test1(){
		System.out.println("test1--"+threadLocal);
		return "test1--"+threadLocal;
	}
	
	@RequestMapping("/test2")
	@ResponseBody
	public String test2(){
		System.out.println("test2--"+threadLocal);
		return "test2"+threadLocal;
	}
	
	
}

测试结果:

SpringMVC是方法级别的测试_第1张图片


SpringMVC是方法级别的测试_第2张图片

由截图结果可以看出,controller里面的成员变量只被创建了一次,即controller只示例化了一次,里面的成员变量是共有的,会存在线程安全问题,慎重使用。




你可能感兴趣的:(springMVC)