Spring Bean 默认是单例还是多例

110次阅读
没有评论

默认情况下,Spring Bean 是单例作用域,也就是同一个容器里同一个 Bean 定义只创建一份实例。

默认单例是什么意思

这里的单例是指 Spring 容器级别的共享实例,不是整个 JVM 全局唯一。你多次注入同一个 Bean,默认拿到的都是同一个对象。

什么时候不是单例

如果显式声明 prototype,Spring 每次获取 Bean 时都会创建新对象。Web 场景下还会有 requestsession 等作用域。

为什么默认选单例

大多数业务服务本身就是无状态的,做成单例更节省内存,也更符合依赖注入容器的管理方式。

使用时要注意什么

如果单例 Bean 里保存可变状态,就可能出现线程安全问题。默认单例没问题,前提是 Bean 设计本身尽量无状态。

正文完
 0
bdspAdmin
版权声明:本站原创文章,由 bdspAdmin 于2026-03-21发表,共计306字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)