2014-07-02 153 views
1

我是Spring的新手,對基本的東西感到困惑。被定型的類(Service,Controller,Repository)是否被視爲bean?我很困惑,你什麼時候需要註釋/配置某個bean,什麼時候你不需要。這是不是刻板印象的類嗎?春天 - 什麼是豆,什麼不是?

謝謝!

回答

1

從春天文檔:

在Spring中,形成你的應用程序和 由Spring IoC容器管理骨幹的對象被稱爲豆。一個bean 是一個對象,它被一個Spring IoC容器實例化,組裝並由 管理。否則,bean只是您應用程序中衆多對象中的一個 對象。 Bean和它們之間的依賴關係, 反映在容器使用的配置元數據中。

服務,控制器,存儲庫由Spring IoC容器管理,因此它們被稱爲bean。當您想要彈簧管理它時,您將註釋爲@Serivice@Controller@Controller@Controller@Repository或更多@Component:Spring將根據您選擇的範圍管理註釋類的實例(並非所有這些範圍始終可用):

  1. 單 - 返回一個bean實例在每個Spring IoC容器
  2. 原型 - 當請求
  3. 要求每次返回一個新的bean實例 - 返回每個HTTP請求的單一Bean實例
  4. 會話 - 返回一個單一的bean實例每個HTTP會話
  5. globalSession的 - 回報率爲全球HTTP一個bean實例 會議
+0

謝謝!一個相關的問題:最佳實踐表明讓類不可變。 Spring在管理bean時是否需要這樣做? – mstrom

+0

@mstrom對於不可變類,你是指類的對象一旦創建就無法修改?我認爲這是一個有趣的問題。你應該單獨問問,也許比我更好的人可以給你更多的提示:) – gipinani

+0

是的。再次感謝。 – mstrom