SpringMVC之控制器的单例和多例配置

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

在使用Spring3对控制器Controller进行bean管理时,如果要对控制器是否单例进行管理。

有两种方式配置多例模式:

1.springXML

2.注解本身的控制器类

  1. @Controller  
  2. @Scope(“prototype”)  
  3. public class HelloContorller {  
  4.     private int index=0;  
  5.     Logger logger=Logger.getLogger(HelloContorller.class.getName());  
  6.       
  7.     //hello world例子  
  8.     @RequestMapping(value=“/hello”)  
  9.     public String hello(){  
  10.         logger.info(”spring mvc hello world!”+index++);  
  11.         return “hello”;  
  12.     }  
  13. }  
@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一个控制器。



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值