在使用Spring3对控制器Controller进行bean管理时,如果要对控制器是否单例进行管理。
有两种方式配置多例模式:
1.springXML
![](https://i-blog.csdnimg.cn/blog_migrate/51a1d5b47ea20cdc7433495102ea6e92.jpeg)
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一个控制器。