0
A
回答
4
默認情況下,spring bean是單例。所以你不必爲了確保你只有一個實例而使它成爲靜態的(儘管你當然可以:Java代碼是Java代碼)。
不過,重要的是多線程可以訪問您的櫃檯。所以你必須確保所有這些訪問都是線程安全的。最簡單的方法可能是使用AtomicInteger或AtomicLong來實現計數器。
相關問題
- 1. 春季引導服務靜態資源
- 2. 春季服務層 - autowire所有服務
- 3. 在Global.asax中添加靜態引用到服務層可以嗎?
- 4. 什麼是使服務層中的靜態方法危害 - 春季3
- 5. 服務層的春季交易
- 6. 春季服務和DAO層交易
- 7. 春季引導與寧靜服務
- 8. 我可以在春季雲中使用kubernetes作爲服務發現嗎?
- 9. 我可以在java的靜態方法中使用非靜態變量嗎?
- 10. 我可以在靜態方法在頂點使用非靜態變量嗎?
- 11. 我可以使用類方法來設置靜態變量嗎?
- 12. 可以使用getClass()方法來訪問靜態變量嗎?
- 13. 可以使用函數定義PHP靜態類變量嗎?
- 14. Nginx從春季啓動戰爭中靜態服務
- 15. C#'動態'變量可以引用靜態類型嗎?
- 16. 使JLabel可以訪問靜態變量?
- 17. 春季動態的HTTPStatus從變量
- 18. 靜態成員變量可以調用非靜態成員函數嗎?
- 19. 靜態變量在WCF服務
- 20. 殺死Android服務和靜態變量
- 21. 春季動態變化
- 22. 春季服務層的JUnit測試用例
- 23. 春季長期服務?
- 24. 春季Web服務流程
- 25. 春季RESTful服務問題
- 26. LazyInitializationException中在春季服務
- 27. 春季EL變量列表?
- 28. 春季環境變量
- 29. 春季Web服務 - Web服務通信
- 30. 春季我可以結合使用@controller和XML bean映射嗎?
同意在這種情況下非靜態的AtomicInteger或AtomicLong是合適的。關於「你不應該靜態確定你只有一個實例」的評論:對於實例變量,如果你使用基於子類的代理,你實際上可以爲單身bean創建兩個實例( CGLIB)。對於一個簡單的櫃檯來說,這不應該是一個問題。對於在單例構造函數中創建的昂貴資源,這可能是一個考慮因素。 –