[size=large][b]1.Controller中加参数[/b][/size]
[size=large][b]2.自动注入[/b][/size]
[size=large][b]3.父类中自动注入[/b][/size]
[size=large][b]4.上下文中获取[/b][/size]
[size=large][b]5.@ModelAttribute(线程不安全)[/b][/size]
@Controller
public class TestController {
@RequestMapping("/test")
public void test(HttpServletRequest request) throws InterruptedException {
}
}
[size=large][b]2.自动注入[/b][/size]
@Controller
public class TestController{
@Autowired
private HttpServletRequest request; //自动注入request
@RequestMapping("/test")
public void test() throws InterruptedException{
}
}
[size=large][b]3.父类中自动注入[/b][/size]
public class BaseController {
@Autowired
protected HttpServletRequest request;
}
@Controller
public class TestController extends BaseController {
@RequestMapping("/test")
public void test() throws InterruptedException {
}
}
[size=large][b]4.上下文中获取[/b][/size]
@Controller
public class TestController {
@RequestMapping("/test")
public void test() throws InterruptedException {
HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
}
}
[size=large][b]5.@ModelAttribute(线程不安全)[/b][/size]
@Controller
public class TestController {
private HttpServletRequest request;
@ModelAttribute
public void bindRequest(HttpServletRequest request) {
this.request = request;
}
@RequestMapping("/test")
public void test() throws InterruptedException {
}
}