1 回答

TA貢獻1804條經(jīng)驗 獲得超3個贊
bean就相當于定義一個組件,這個組件是用于具體實現(xiàn)某個功能的。這里的所定義的bean就相當于給了你一個簡潔方便的方法來調(diào)用這個組件實現(xiàn)你要完成的功能。
在Spring中,從BeanFactory或ApplicationContext取得的實例被默認為Singleton,也就是默認每一個Bean名稱只維持一個實例。scope屬性預設(shè)是"singleton",通過將其設(shè)置為"prototype",使得每次指定名稱來取得Bean時,都會產(chǎn)生一個新的實例。也可以設(shè)置"singleton"屬性為true或false,來設(shè)置以Singleton的方式產(chǎn)生實例,這種方式主要與以前的版本兼容而保留的。
Spring的Singleton主要是針對"一個IoC容器維持一個Bean實例"而言的。與設(shè)計模式上談到的Singleton不同,設(shè)計模式上談到的Singleton,是指對每個ClassLoader所載入的類產(chǎn)生一個實例。
Spring2.0中,scope除了可以設(shè)置"singleton" 與"prototype"之外,針對Web應用程序環(huán)境,還可以設(shè)置"request"、"session"與"globalSession",分別表示請求階段、會話階段與基于Portlet的Web應用程序會話階段。
- 1 回答
- 0 關(guān)注
- 1001 瀏覽
添加回答
舉報