【177、spring的bean默认是单例还是多例的】

56 阅读1分钟

默认情况下,Spring的Bean是单例的。也就是说,当容器启动时,Spring会创建一个Bean的实例,并在容器中进行管理。当其他Bean需要使用该Bean时,容器会直接返回该实例,而不是每次都创建一个新的实例。

这种单例模式的好处是可以节省内存开销,并且可以保证Bean的状态在整个应用中的一致性。但是需要注意的是,如果一个单例的Bean状态被修改,那么在整个应用中都会受到影响,因此需要仔细考虑是否适合采用单例模式。

除了单例模式,Spring还支持多例模式。在配置Bean时,可以通过指定"scope"属性为"prototype",来将Bean的作用域设置为多例。这样,在容器启动时,Spring不会创建一个Bean的实例,而是在每次请求时都会创建一个新的实例,并返回给请求者使用。

需要注意的是,采用多例模式可能会导致内存开销较大,并且在高并发环境中可能会存在线程安全问题。因此,需要根据具体的应用场景来选择适合的作用域。