SpringMVC之控制器的单例和多例配置
程序员文章站
2024-03-16 18:50:22
...
在使用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一个控制器。