0
我正在開發一個基於Spring的Web應用程序,它有幾個控制器正在獲取相同的查詢參數。 我想在我的一些服務中使用這個查詢參數。
有沒有什麼辦法,使用Spring框架的一些內置功能,它允許我在每個服務調用每個服務時都可以使用這個參數,而不需要實際將它作爲參數傳遞?基於Spring的Web應用程序的項目特定配置?
我正在開發一個基於Spring的Web應用程序,它有幾個控制器正在獲取相同的查詢參數。 我想在我的一些服務中使用這個查詢參數。
有沒有什麼辦法,使用Spring框架的一些內置功能,它允許我在每個服務調用每個服務時都可以使用這個參數,而不需要實際將它作爲參數傳遞?基於Spring的Web應用程序的項目特定配置?
你想要什麼是可能的,但是反對在Spring中用bean編程的「規則」。一個bean的默認範圍是Singleton:
只管理一個單例bean的共享實例,並且具有與該bean定義匹配的id或id的bean的所有請求都會導致一個特定的bean實例被返回Spring容器。
在這裏閱讀更多:https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#beans-factory-scopes
因此具有非final類屬性的單bean,同時在每個請求改變,可能是因爲屬性正在改變,你會落得有要求讀取錯誤的值在實際請求讀取它的值之前。