Spring Web应用程序有两个上下文–Web上下文(子)和根上下文(父).如果在dispatcher-servlet.xml(Web上下文)中定义了@Controller bean,一切都很好.
但是如果在父上下文(applicationContext.xml)中定义了控制器bean,则无法识别控制器 – 即它们的映射未配置,因此当您尝试打开在此类控制器中定义的/ foo / bar时,路径不是找到.
问题是:无论bean在何处定义,如何使控制器映射得到解析.
附:我知道我可以将声明移到子上下文中,但我不想因为超出本问题范围的原因而这样做.
最佳答案
DefaultAnnotationHandlerMapping具有
detectHandlersInAncestorContexts
属性,可启用所需的行为.