天天看點

spring生命周期 init-method destroy-methd 不要和prototype一起用

spring生命周期 init-method destroy-methd 不要和prototype一起用
spring生命周期 init-method destroy-methd 不要和prototype一起用
spring生命周期 init-method destroy-methd 不要和prototype一起用

運作的結果隻有一個init和destroy,雖然兩個service執行個體化,但是預設是單例,加了scope=prototype就運作不正常了,結果兩個init,沒有destroy,原因未知。

首先我們應該知道:

一、spring Bean的作用域:scope=singleton(預設,單例,生成一個執行個體)

二、spring Bean的作用域:scope=prototype(多線程, 生成多個執行個體)

三、單例模式,預設在程式初始化的時候執行個體化(lazy-init=”false”)

四、prototype,getBean的時候才是執行個體化

五、lazy-init 隻對單例模式起作用,對 prototype 不起作用(因為 prototype 預設就不是程式初始化的時候執行個體化的)