我已用SpringMVC使用下面控制器代碼@Scope( 「單」):在控制器用SpringMVC層,@Scope( 「原型」)與
@Controller
@Scope("prototype")
@RequestMapping("/messages")
public class MessageController {
@RequestMapping(value="/index", method=RequestMethod.GET)
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public String displayAllMessages(ModelMap model) {
System.out.println(this.hashCode());
// processing
return "messages";
}
}
當使用@Scope("prototype")
,每個請求到來時,輸出this.hashCode()
是不同的,這意味着當每個請求到來時,將創建一個新的MessageController
實例。
如果不使用@Scope("prototype")
,默認情況下會@Scope("singleton")
,每個請求到來時的this.hashCode()
輸出相同,只創建一個實例MessageController
意義。
我不確定什麼時候應該使用@Scope("prototype")
?
我有點陷入了同樣的問題。你能看看我的問題嗎? http://stackoverflow.com/questions/43868299/how-to-reload-configuration-bean-with-properties-from-database – Lucky