@Bean(autowire = Autowire.BY_TYPE) устарел. Что было бы альтернативой?

#java #spring #spring-framework-beans

#java #весна #spring-framework-beans

Вопрос:

В sonarqube я получаю запах кода для использования @Bean(autowire = Autowire.BY_TYPE) внутри моего класса Bean. Я проверил документацию Spring, и эта информация также упоминается там. Однако я не вижу альтернативы для этого.

Кто-нибудь, пожалуйста, может помочь удалить этот запах кода?

Ответ №1:

autowire Опция теперь ничего не делает, поэтому просто удалите ее.

Как говорится в документах:

Устарело с версии 5.1, поскольку @Bean разрешение и обработка аргументов заводского метода @Autowired заменяют внедрение свойств компонента на основе имени / типа

Комментарии:

1. Спасибо @OrangeDog за вашу помощь. Прежде чем пометить ваш ответ как «Принятый», я скомпилирую код после его удаления. Проблема в том, что только в главной ветке мы настроили ворота качества. Поэтому снова запустите сборку (после удаления в соответствии с вашим предложением) и проверьте, показывает ли sonarqube ее как код (тип запаха) и скоро обновится. У меня тоже есть интересный разговор об этом: github.com/spring-projects/spring-framework/issues/21814

2. Большое спасибо @OrangeDog . Он работал и не выдавал никаких ошибок после его удаления. Пометил ваш ответ как «Принятый».