Spring @Controllers在根应用程序上下文中声明

Boz*_*zho 6 spring spring-mvc

Spring Web应用程序有两个上下文--Web上下文(子)和根上下文(父).如果@Controllerdispatcher-servlet.xml(Web上下文)中定义bean,一切都很好.

但是如果在父上下文(applicationContext.xml)中定义了控制器bean ,则无法识别控制器 - 即它们的映射未配置,因此当您尝试/foo/bar在此类控制器中定义打开时,找不到路径.

问题是:无论bean在何处定义,如何使控制器映射得到解析.

PS我知道我可以将声明移到子上下文中,但我不想因为超出本问题范围的原因而这样做.

axt*_*avt 5

DefaultAnnotationHandlerMapping具有detectHandlersInAncestorContexts实现所需行为的属性.