相信大家在使用Springboot使用时候都会见过Spring容器,本文将基于Spring容器为大家做下详细讲解。

【什么是Spring容器】

容器是什么?我们生活中处处可见容器,比如水杯、箱子等等。容器无非就是存储东西的一种器具,重点其实在于被装的东西是啥。

在这里插入图片描述

那么Spring容器装的是啥呢?Spring 容器保存与Spring框架相关数据的容器,通常用于保存各种各样的Bean。

我们通常创建一个实例,往往由程序员new出来,这个控制权在于程序员。而Spring容器则将该控制反转,也就是指new实例工作不由程序员来做而是交给Spring容器来做,bean类交给Spring容器统一管理销毁。

【为什么要用Spring容器】

那么问题来了,我们为什么要把Bean交给spring管理?

当我们在使用Spring的bean对象时,会遇到两种情况:

(1)当一个对象被频繁的使用时,对内存资源会有较大的消耗。如果使用Spring管理bean类,由于Spring默认管理bean是单例模式,所以会避免不断的创建新的实例从而导致并发量很大时垃圾回收效率低的问题。但这样样很容易会导致多线程问题。

(2)是当一个对象被使用的次数极少,这个时候就没有必要让这个对象一直存在到内存中,可以将spring管理bean的作用域设置为prototype,在每次调用的时候创建一次 ,用完销毁。

因此,使用Spring管理bean对象可以实现对象对资源的有效使用。

【Spring容器一般管理哪些bean】

由于Spring默认管理bean是单例模式,为了避免多线程导致的并发问题,一般用Spring管理的类是各种Service类。

最常用的spring容器管理的注解有@Controller、@Service、@Repository、@Component、@Bean等。加了以上注解的类,会自动交给Spring容器管理,需要使用时候直接注入获取即可。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐