У меня есть веб-приложение (webapp1) с двумя службами, каждая служба наследуется от интерфейса. У каждой службы есть аннотация @SERVICE с идентификатором. (service1 и service2). Например, для wervice1, я получил:Spring Mvc, как переопределить определение бобов по аннотации
@SERVICE("service1")
Каждая услуга вводится в контроллер с помощью @AUTOWIRED
и @QUALIFIER
аннотацию. Теперь у меня есть второе веб-приложение (webapp2), которое создается наложением на webapp1. В webapp2 я хочу переопределить service1. Я пытаюсь сделать это:
@PRIMARY
@SERVICE("service1")
Я получил сообщение об ошибке, потому что у меня есть два зерна с одинаковым идентификатором (service1 и wervice которые замещают service1).
Сообщение об ошибке: 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, который позволяет использовать имена вместо идентификатора весна запрещает использовать его по классу.
Есть ли способ переопределить service1 без использования определения xml?
благодаря
Не могли бы вы показать полное сообщение об ошибке? –
Попытайтесь использовать autowire (resolve) beans по типу; поэтому вам не понадобится идентификатор. – naXa