2011-05-06 70 views

回答

70

是的,這是正確的。

如果類屬於業務層,你可能要與@Service代替

進行註解,但有一點,爲了讓被檢測到這些註解,你需要把此行applicationContext.xml

<context:component-scan base-package="com.yourcompany" /> 

關於singletons - 默認情況下spring bean都是單身作用域。你唯一需要考慮的是你不應該在狀態變量中存儲狀態(它們只應該保持依賴關係)。因此,您的應用程序將是線程安全的,並且您不會每次都需要一個bean的新實例。換句話說,你的bean是無狀態的。

+0

當使用@Component和or @Service註釋等。意味着我正在創建Singletons,我是否會遇到併發問題?對我的新手想法來說,它將產生一個在整個ApplicationContext中使用的bean,因此併發用戶將獲得對單個bean的引用。或者我錯過了什麼? – Marco 2011-05-06 07:18:23

+2

@Marco如果你沒有任何狀態(實例變量不同於spring bean),那麼不會發生併發問題。 – Bozho 2011-05-06 08:35:05

+0

你「想要」每次都需要一個bean的新實例,否則「不會」每次都需要一個bean的新實例? – Harshana 2016-01-20 11:51:06

3

默認 - 是。

但是,您可以使用@Scope批註覆蓋此行爲。例如:@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)

相關問題