spring framework 中,在 web.xml 中預設的 bean 行為 (即沒表示scope的狀況) 就是 singleton,單一,即表示只有一份,server 起來的時候只有一份。
通常 singleton 會使用在 POJO (Plain Old Java Object)。
POJO 是指只有設定 property 與 value 的 bean,這種較不常變動的 java bean 可以在 server 一起來時就設定好之後並不需要很多變動。
通常 POJO 也指不依賴任合框架即可在 JVM 中跑起來的 java object。
而我們在 spring-web-servlet.xml 中看見的大部分是程式使用執行的 bean,,它都沒有設定scope,所以預設就是 "singleton",就是在所有 container 當中只有一份,可以想成是 static 變數。
除非指定 scope 為 "prototype" (原型),這樣每次使用時 server 就會重新 new 一個 instatnce。
沒有留言:
張貼留言