Transport API - данные ответа не освежают

@Component и @Bean выполняют две совершенно разные вещи, и их не следует путать.

@Component@Service и @Repository) используются для автоматического обнаружения и автоматическое конфигурирование bean-компонентов, использующее сканирование классов. Существует неявное взаимно однозначное сопоставление между аннотированным классом и компонентом (т. Е. Одним компонентом для каждого класса). [7]

@Bean используется для явно , объявляет один бит, вместо того, чтобы позволить Spring делать это автоматически, как указано выше. явно ограничено этим подходом, поскольку это чисто декларативный. , Он отделяет декларацию компонента от определения класса и позволяет вам создавать и настраивать компоненты точно так, как вы выберете.

Чтобы ответить на ваш вопрос ...

было возможно повторно использовать аннотацию @Component вместо введения аннотации @Bean?

Конечно, возможно; но они решили не делать этого, так как они совершенно разные. Весна уже довольно запутанная, не загрязняя воды дальше.

0
задан user2103926 13 July 2018 в 04:57
поделиться