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一个控制器。

经验分享 程序员 微信小程序 职场和发展