• 欢迎来到Compiler网站,如果对网站内容感兴趣或者帮助到你,请为文章点赞,谢谢!

Spring Bean作用域

java 奔跑的蜗牛 5个月前 (05-07) 89次浏览 已收录 0个评论

作用域

来源 说明
prototype 原型作用域,每次依赖查找和依赖注入生成新bean对象
singleton 默认Spring Bean作用域,一个BeanFactory有且仅有一个实例
request 将Spring Bean 存储在ServletRequest上下文中
session 将Spring Bean存储在HttpSession中
application 将Spring Bean存储在ServletContext中

singleton Bean作用域

prototype Bean 作用域

Spring容器没有办法管理prototype Bean的完整声明周期,也没有办法记录实例的存在。销毁回调方法将不会执行,可以利用BeanPostProcessor进行清扫工作。

request Bean作用域

  • 配置

    • XML – <bean class=”” scope=”request”>

    • Java注解 – @RequestScope 或 @Scope(WebApplicationContext.SCOPE_REQUEST)

  • 实现

    • API – RequestScope

对于界面的渲染而言,对象都是新的对象,其实返给前端的对象都是变化的,通过代理的方式保证每个对象是新生成的,但是对于内部@Autowired对象而言,使用的CGLIB代理对象,都是一样的。

session Bean作用域

  • 配置

    • XML – <bean class=”” scope=”session”>

    • Java注解-@SessionScope或@Scope(WebApplicationContext.SCOPE_SESSION)

  • 实现

    • API-SessionScope

spring注入的对象始终都是cglib对象,但是根据cookie执行绑定,保证每次获取到的对象都是与session进行绑定的。

application Bean作用域

  • 配置

    • XML – <bean class=”” scope=”application”>

    • Java注解-@ApplicationScope或@Scope(WebApplicationContext.SCOPE_APPLICATION)

  • 实现

    • API-ApplicationScope


Compiler编程笔记 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Spring Bean作用域
喜欢 (2)
[阳光路上]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址