我的应用程序需要了解映射的 URL,因为用户名或其他资源类型将被动态映射。
即使能够获得当前的映射,我也可以在控制器上进行:
@Autowired
RequestMappingHandlerMapping handlerMapping;
public void showHandlersMapping() {
Map<RequestMappingInfo,HandlerMethod> map = handlerMapping.getHandlerMethods();
Iterator<?> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pairs = (Map.Entry)it.next();
System.out.println(pairs.getKey() + " = " + pairs.getValue());
}
}
但我想在其中引用它,root-context
以便其他 bean 可以查询它。
一旦 MVC 上下文在根上下文之后加载,我怎么能做到这一点?
我的解决方案(直到现在):
在我调用 apiService.registerHandlersMapping(handlerMapping); 的控制器中添加了一个 @PostConstruct
我不确定这种方法的缺点,但会感谢任何建议。