我为我的客户提供了一个高度可定制的应用程序,它完全独立工作。但是如果我的客户想要覆盖任何控制器,我想用他们的替换我的实现。然而,仅仅覆盖控制器会导致映射的模糊定义。
我一直在使用组件扫描来加载 bean。
我想到的潜在解决方案是:
- 使用通过自定义过滤器排除的组件扫描器?(这似乎并不容易)
- 使用 xxxxPostProcessor 删除一些 bean?(如何?)
有什么帮助吗?
我为我的客户提供了一个高度可定制的应用程序,它完全独立工作。但是如果我的客户想要覆盖任何控制器,我想用他们的替换我的实现。然而,仅仅覆盖控制器会导致映射的模糊定义。
我一直在使用组件扫描来加载 bean。
我想到的潜在解决方案是:
有什么帮助吗?
如果我正确地回答了你的问题,
您可以通过将 URL 更改为特定的实施名称来区分实施
假设 Telecom 是接口,AirtelImpl 和 RelianceImpl 是控制器,那么
您的请求映射
@RequestMapping(value= "/airtel/doBilling")
@RequestMapping(value= "/reliance/doBilling")
这样,实施流程就会有所不同。
我已按照以下步骤操作:
@Devoted
ImportBeanDefinitionRegistrar
. 迭代已注册的 bean 定义以找出 `@Devoted @Controller's 并删除它们。根据请求,我将提供实施细节。