詳情見spring文檔
說明
scope翻譯就是範圍的意思,從名字看就是定義這個bean的作用範圍。從文檔中說明有5個值可以使用。
- @Scope(“singleton”)
該註解的默認值,表示這個bean在spring容器中是單例的,我們通過spring容器獲取這個bean的時候,都是對一個對象進行操作。
- @Scope(“prototype”)
表示這個bean在容器中不是單例的,每次通過spring容器獲取到的實例都是一個新的實例。因爲每次都會產生一個新的實例,所以這個值要注意新建對象的開銷。
- @Scope(“request”)
表示這個bean在每一次的http request中是單例的,也就是說不同的http請求中的bean都是不同的實例。這個值需要spring是在web應用中的。
- @Scope(“session”)
表示這個bean在每一次的http session中是單例的,也就是說不同的http會話中的bean都是不同的實例。這個值需要spring是在web應用中的。
- @Scope(“global session”)
表示這個bean在全局http session中是單例的,也就是說在全局會話中的bean是同一個實例。這個值需要spring是在web應用中的。