Spring学习笔记——第五部分 Bean Scopes(Bean作用域)

在这里插入图片描述

1. singleton(单例模式)(默认)

  • 该作用域会使所有的Bean请求,只要id与所需要的bean的id相同,就会返回同一个bean实例,singleton对于无会话状态的bean来说,是最好的选择。
<bean id="user2" class="com.zhang.pojo.User" c:name="C张作鹏" c:age="18" scope="singleton"/>
@Test
public void test(){
    ApplicationContext context = new ClassPathXmlApplicationContext("userMapper.xml");
    User user = (User) context.getBean("user2");
    User user2 = (User) context.getBean("user2");
    System.out.println(user.hashCode());
    System.out.println(user2.hashCode());
    System.out.println(user==user2);
}

hashcode相同,说明调用的是同一个对象
在这里插入图片描述

2. prototype(原型模式)

  • 需要保持会话状态的bean(如Struts2的Action类)就应该使用prototype作用域。
  • 在使用该作用域时,每一个bean请求都会创建一个新的实例。

hashcode不同,每次从容器中get时,都会产生一个新对象
在这里插入图片描述

3. request、session、application、websocket

这四种只在web开发中使用到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值