Tôi có một ứng dụng khởi động và trong một trong những mặt tiền của tôi, tôi cố gắng Autowire các conversionService
như thế này:Nhiều conversionServices vào mùa xuân-boot
@Autowired
private ConversionService conversionService;
như là kết quả tôi có được điều này:
Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [org.springframework.core.convert.ConversionService] is defined: expected single matching bean but found 3: mvcConversionService,defaultConversionService,integrationConversionService
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1061)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:949)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:533)
... 16 more
Để khắc phục điều này, tôi đã thêm một Vòng loại lilke này:
@Autowired
@Qualifier("mvcConversionService")
private ConversionService c;
và tất cả đều hoạt động. Tuy nhiên tất cả các trình chuyển đổi tùy chỉnh của tôi sẽ tự động được thêm vào số mvcConversionService
. Và bây giờ tôi muốn mở rộng ConversionService
và thêm một phương pháp khác vào nó, tuy nhiên các trình chuyển đổi của tôi lại được thêm vào mvcConversionService
. Có cách nào để nói mùa xuân khởi động mà conversionService
để sử dụng để tự động đăng ký chuyển đổi của tôi ở đó? Tôi không muốn tự liệt kê tất cả các trình chuyển đổi sang conversionService
mới.
Bạn đã bao giờ tìm thấy một giải pháp tốt hơn cho việc này? Cố gắng triển khai Spring Cloud Config Server và 'integrationConversionService' chỉ xuất hiện –
Có thể trùng lặp của [Làm thế nào để Autowired trong ConversionService trong springboot] (http://stackoverflow.com/questions/30039619/how-to-autowired-in-conversionservice -in-springboot) –