我有一个带有两个服务的Web应用程序(webapp1),每个服务都继承自一个接口。每个服务都有注释@SERVICE,带有id。 (service1和service2)。 例如对于wervice1,我得到了:
@SERVICE("service1")
使用@AUTOWIRED
和@QUALIFIER
注释将每个服务注入控制器。
现在我有第二个Web应用程序(webapp2),它是通过webapp1上的叠加层制作的。
在webapp2中,我想覆盖service1。我试着这样做:
@PRIMARY
@SERVICE("service1")
我收到错误,因为我有两个具有相同ID的bean(service1和覆盖service1的wervice)。
错误消息为:org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'service1' for bean class [fr.yyy.oav.xxx.service.YyyService1] conflicts with existing, non-compatible bean definition of same name and class [fr.harvest.oav.xxx.service.XxxService1]
我试图使用注释@Bean允许使用名称而不是id是spring禁止在类上使用它。
有没有办法在不使用xml定义的情况下覆盖service1?
感谢
答案 0 :(得分:0)
尝试在指定的bean标记中使用$(window).on("resize", function(){
if (window.matchMedia("(min-width: 1920px)").matches) {
$(".navbar").wrap("<div class='center'></div>");
} else {
var content = $(".center").contents();
$(".center").replaceWith(content);
}
}).trigger("resize");
。希望这可以正常工作
答案 1 :(得分:0)
我无法使用它,因为service1和service2(都在同一个webapp中)实现了相同的接口,所以它们都是通过使用接口类型注入的。这就是为什么我在限定符上使用id来区分它们。