2012-10-03 24 views
1

在我的春節,MMVC應用,的WebApplicationContext VS的ApplicationContext

我有一個XX-servlet.xml中相當於我的調度員servlet-定義我的web層豆/類和導入其他context.xml中定義的所有持久圖層bean /服務。

在XX-servlet.xml中,

已經定義了一個ApplicationContextProvider類,它實現ApplicationcontextAware接口。

並且已經用@Component註釋了我所有的bean(表示對象),並在需要時從ApplicationContext(不使用WebApplicationContext)獲取這些bean的實例。

那麼,在這種情況下,我的豆的範圍是什麼?

另外,如果我使用WebApplicationContext,會出現什麼情況?

什麼是最佳實踐...使用ApplicationContextWebApplicationContext

回答

3

WebApplicationContext將more scopes(request,session,globalSession)添加到標準Application上下文(它僅提供Singleton和Prototype範圍)。如果你不指定一個bean作用域,它將默認爲Singleton作用域。

最佳實踐是,如果您處於Web環境中,則應該使用WebApplicationContext,以便可以使用這些附加範圍和ServletContextAware beans。但是,如果你不使用它們,那取決於你。

除此之外,大多數spring mvc基礎架構bean都需要一個WebApplicationContext。

相關問題