我们可以有一个带有两个ServletContext的spring容器吗?我只是问这个原因我们在spring中有Application
范围,它根据ServletContext来定义bean。那么我们可以有两个这样的bean实例吗?
答案 0 :(得分:0)
每个应用程序不能有多个ServletContext(通过JavaEE定义)。
解决方案A)将对象的范围更改为XMLHttpRequest
并招募一些bean的实例。
解决方案B)(更好)为您的bean使用prototype
,以便您可以为同一个类创建两个不同的bean。如果您正在使用基于xml的配置,请为您的bean指定不同的名称。如果您使用基于类的配置,请使用@Qualifier
。将@Bean(name = "name1")
和@Qualifier("name1")
放在一起以检索所需的bean。
答案 1 :(得分:0)
如果您正在讨论Servlet特定的Spring应用程序上下文,而不是来自EE的ServletContext,那么可以有多个实例,因为您可以为每个servlet定义一个应用程序上下文(然后是子项)根应用程序上下文的上下文)。如果已在每个servlet上下文中定义了应用程序作用域bean,则每个servlet上下文都有一个实例,即应用程序中有多个实例。