Java 应用程序上下文注入是否取决于类的类型?

Java 应用程序上下文注入是否取决于类的类型?,java,spring,Java,Spring,由此可见,Spring中有两种类型的上下文——一种是应用程序上下文ApplicationContext,另一种是WebApplicationContext,如果我使用org.springframework.web.servlet.DispatcherServlet声明多个servlet,我可以拥有多个WebApplicationContext。如果我错了,请纠正我,直到 现在,WebApplicationContext也是一个接口并扩展了ApplicationContext,那么在运行时,哪个类

由此可见,Spring中有两种类型的上下文——一种是应用程序上下文
ApplicationContext
,另一种是
WebApplicationContext
,如果我使用
org.springframework.web.servlet.DispatcherServlet
声明多个servlet,我可以拥有多个
WebApplicationContext
。如果我错了,请纠正我,直到

现在,
WebApplicationContext
也是一个接口并扩展了
ApplicationContext
,那么在运行时,哪个类将是实现这些接口的实际类?我读到的东西对我来说并不清楚,我大致的猜测是
XmlWebApplicationContext
可以实现
ApplicationContext
,但是你对
WebApplicationContext
的实现是什么呢

现在,假设我有一个controller bean
@controller
和一个respository bean
@Repository
bean,考虑到我有两个不同的上下文,一个是应用程序上下文“ApplicationContext”,另一个是“WebApplicationContext”,假设我在控制器和存储库中都使用了
@Autowire ApplicationContext appContext
,那么实际的对象注入将取决于它是控制器类还是存储库类?(假设我在由“ApplicationContext”和“WebApplicationContext”指向的配置文件中定义了不同的bean)