SpringMVC之控制器的单例和多例管理
在使用Spring3对控制器Controller进行bean管理时,如果要对控制器是否单例进行管理。
有两种方式配置多例模式:
1.springXML
2.注解本身的控制器类
@Controller @Scope("prototype") public class HelloContorller { private int index=0; Logger logger=Logger.getLogger(HelloContorller.class.getName()); //hello world例子 @RequestMapping(value="/hello") public String hello(){ logger.info("spring mvc hello world!"+index++); return "hello"; } }@Controller @Scope("prototype") public class HelloContorller { private int index=0; Logger logger=Logger.getLogger(HelloContorller.class.getName()); //hello world例子 @RequestMapping(value="/hello") public String hello(){ logger.info("spring mvc hello world!"+index++); return "hello"; } }
这里有个困惑就是当index变量为静态时,那么尽管是多例模式下,对于每次请求访问,index变量都会累积相加。所以可以初步断定,多例的产生原理不简简单单是重新new一个控制器。