С помощью внедрения зависимостей Spring вы можете внедрить экземпляр компонента.
Весной это называется принцип инверсии управления (Io C). Io C также известен как внедрение зависимостей (DI).
Вы можете определить зависимости для вашего компонента с помощью переменной-члена или переменной-конструктора. Существуют различные возможности, например @Autowire
в качестве аннотации для переменных-членов, таких как ваше использование.
Затем контейнер внедряет эти зависимости при создании вашего компонента.
Внимание , однако необходимо, чтобы контейнер пружины знал, как вводить зависимость. Есть много способов научить контейнер этому. Самый простой вариант - предоставить метод-производитель @Bean
в классе @Configuration
. Пружинный контейнер «сканирует» все @Configurations
в начале контейнера и «регистрирует» производителя @Bean
.
Никто еще не сделал производителя для RestTemplate
. Не Spring self, а также никакой другой lib. Со многими другими bean-компонентами, которые вы используете, это уже сделано, а не с RestTemplate
. Вы должны предоставить @Bean
производителя для RestTemplate
.
Сделайте это в новом @Configuration
или в одном из ваших существующих @Configuration
.
A @Configuration
указывает, что класс объявляет один или несколько методов @Bean
и может обрабатываться контейнером Spring для генерации определений bean-компонентов и запросов на обслуживание для этих bean-компонентов во время выполнения, например:
@Configuration
public class RestTemplateConfig {
@Bean
public RestTemplate restTemplate() {
// New instance or more complex config
return new RestTemplate();
}
}