2017-06-04 55 views
1

我曾經在春天控制器2個web服務相同的ArrayList,所以我想用請求或會話範圍從DB獲得一次我試圖讓一個bean份額arraylsit

​​

}

而在控制器

ApplicationContext的CTX =新AnnotationConfigApplicationContext(叫exampleBean的.class); AttendeesBean attendeeBean = ctx.getBean(exampleBean .class);

在第一個服務中,我設置了列表,但沒有在第二個服務中找到它。

+0

由於將範圍設置爲'request',所以不要給它任何範圍,那麼它將被視爲單例,並且將在您的應用中的所有請求中可用。 –

+0

另外,如果你不希望這個列表是靜態的,那麼你應該把'scope'作爲會話。 –

+0

我試圖將其更改爲會話範圍,並且它的工作原理@AmitK感謝 –

回答

0

問題與scope,當你定義request範圍,值或豆將可以在一個單一的請求,將不能用於其他請求。有關更多信息,請閱讀spring scopes

因此,一旦您將範圍更改爲session,那麼在一個請求中創建的所有bean /對象將可用於同一會話中的所有其他請求。因此,將範圍更改爲session解決了您的問題。

0

我只是改變@Scope(值= 「請求」),以 @Scope(值= 「會話」,proxyMode = ScopedProxyMode.INTERFACES)

使用@AmtiK的建議,並與一些搜索。

和它的工作