在使用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一个控制器。
本文探讨了在Spring3框架中如何通过两种方式配置控制器为多例模式:springXML配置文件与控制器类上的注解。并通过示例代码展示了如何指定@Controller注解的Scope属性来实现这一目的。
4346

被折叠的 条评论
为什么被折叠?



