Java 我需要两个具有相同id的端点映射bean

Java 我需要两个具有相同id的端点映射bean,java,spring,spring-ws,endpoint,endpoints,Java,Spring,Spring Ws,Endpoint,Endpoints,假设我的应用程序有一个可以启用或禁用的功能: 如果禁用,将从main.xml加载Springbean(包括端点映射) 如果启用,Springbean(包括端点映射)将从main.xml和extra.xml加载 问题是我的端点映射的id为“mynamespaceEndpointMapping”。此bean的类型为org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping 如何定义这个bean,使它

假设我的应用程序有一个可以启用或禁用的功能:

  • 如果禁用,将从main.xml加载Springbean(包括端点映射)
  • 如果启用,Springbean(包括端点映射)将从main.xml和extra.xml加载
问题是我的端点映射的id为“mynamespaceEndpointMapping”。此bean的类型为org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping

如何定义这个bean,使它从main.xml加载时只有一个端点,而从extra.xml加载时有10个端点?(我不希望在main.xml中定义所有的10个端点,如果我在那里没有使用它们的话)我可以使用bean继承,但这会打破名称空间命名约定,因为我可能需要不同的id用于bean

谢谢,
Teo

您需要覆盖Springbean。就像这个答案:

但这只在XML配置中可能,而在注释中不可能

编辑:我指的是被接受的答案。但我用自己的代码测试了它

我有两个身份证。在test1.xml中

<bean id="test" class="Test1" />

在test2.xml中

<bean id="test" class="Test2" />


在启动期间,在ApplicationContext en中同时使用“test1.xml”、“test2.xml”(按该顺序),当我得到SpringBean测试时,它属于test2类。

是的,但在该代码片段中,bean具有不同的ID。我不需要相同的id才能正确地定义为端点映射吗?这确实是一个解决方案,尽管我希望它不依赖于顺序。