Spring Boot学习 之 Bean的作用域

导读:本篇文章讲解 Spring Boot学习 之 Bean的作用域,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1. 作用域类型

作用域类型 使用范围 作用域描述
singleton 所有Spring应用 默认值,IoC容器 只存在单例
prototype 所有Spring应用 每当从 IoC容器 中取出一个Bean,则创建一个新的Bean
session Spring Web应用 HTTP会话
application Spring Web应用 Web工程生命周期
request Spring Web应用 Web工程单次请求(request)
globalSession Spring Web应用 在一个全局的HTTP Session中,一个Bean定义对应一个实例。

2. Singleton & Prototype的区别测试

2.1 Singleton

// 默认是:singleton
@Component
public class ScopeBean {
}
// 测试
// 得到的结果为:True,即指向同一个实例
AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);
ScopeBean scopeBean1 = ac.getBean(ScopeBean.class);
ScopeBean scopeBean2 = ac.getBean(ScopeBean.class);
System.out.println(scopeBean1 == scopeBean2);

2.2 Prototype

// 修改Bean的作用域为:prototype
// 得到的结果为:False
@Component
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public class ScopeBean {
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/77900.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!