Bean的作用域 - spring


前言

本篇介绍Bean的6种作用域,与通过注释修改作用域的方式,如有错误,请在评论区指正,让我们一起交流,共同进步!


文章目录

  • 前言
  • 1. Bean的作用域
    • 1.1 singleton - 单例模式 - 默认作用域
    • 1.2 prototype - 原型模式
    • 1.3 request - 请求作用域
    • 1.4 session - 会话作用域
    • 1.5 application - 应用作用域
    • 1.6 websocket作用域
    • 1.7 @Scope修改作用域
  • 总结

本文开始

1. Bean的作用域

Bean的作用域:Bean在Spring整个框架中的某个 行为模式

1.1 singleton - 单例模式 - 默认作用域

singleton :singleton作用域下在IOC容器中只存在一个实例;
适用场景:Bean 对象属性状态不需要更新,适合适用;(不需要修改对象属性时使用)

1.2 prototype - 原型模式

prototype:prototype作用域下Bean的请求都会创建新的实例;(也就是每次获取Bean都new一个新的实例对象)
适用场景:Bean对象的属性状态需要更新的情况下适用;(获取对象,对对象的属性进行修改操作时使用)

1.3 request - 请求作用域

request: request作用域下 每次http请求 都会 创建新的Bean实例;
使用场景:一次http请求与响应的共享一个Bean;
特点:只适用于spring MVC

1.4 session - 会话作用域

session:session作用域下,在一个http会话,定义一个Bean实例
使用场景:一个用户会话共享一个Bean时使用;
特点:只适用于spring MVC

1.5 application - 应用作用域

application:application作用域下,表示一个Context容器(获取上下文时)中共享一个作用域;
使用场景:记录Web应用的上下文信息时使用;
特点:只适用于spring MVC

1.6 websocket作用域

websocket:web套接字的作用域;
特点:只适用于websocket作用域;

1.7 @Scope修改作用域

//第一种
@Scope("prototype")
//第二种
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)

总结

✨✨✨各位读友,本篇分享到内容如果对你有帮助给个赞鼓励一下吧!!
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

你可能感兴趣的:(spring,Bean,作用域,java,spring)