Лучше было бы использовать инъекцию конструктора .
Объявление бина RestTemplate
в классе конфигурации:
@Configuration
public class ApplicationConfiguration {
@Bean
public RestTemplate restTemplate() {
SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
Proxy proxy= new Proxy(Proxy.Type.HTTP, new InetSocketAddress("proxyhost", proxyport));
requestFactory.setProxy(proxy);
requestFactory.setReadTimeout(3000);
requestFactory.setConnectTimeout(3000);
return new RestTemplate(requestFactory);
}
}
А затем использовать инжекцию конструкторадля получения необходимого RestTemplate
bean-компонента:
@RestController
public class AuthenticateController {
private final RestTemplate restTemplate;
public AuthenticateController(RestTemplate RestTemplate) {
this.restTemplate = restTemplate;
}
// rest of the controller's logic
}
Обратите внимание, что вы можете опустить @Autowired
, поскольку AuthenticateController
имеет один конструктор.