spring通过@Configuration @Bean注入Bean

来源:互联网 发布:什么是源码销售 编辑:程序博客网 时间:2024/05/22 10:45

1.spring mvc项目可以直接在controller里面注入request,response

@Autowiredprivate HttpServletRequest request;@Autowiredprivate HttpServletResponse response;

然后就突发奇想是否可以@Ahtowired注入其他bean,最后发现使用@Configuration @Bean这两个标签可以注入,不过idea会报错,但是不影响使用,代码如下:

import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Primary;@Configurationclass RestConfig {   @Bean   @Primary   public RestTemplate restTemplate(RestTemplateBuilder builder, ClientHttpRequestFactory factory) {      return builder.requestFactory(factory).build();   }   @Bean   public ClientHttpRequestFactory httpComponentsClientHttpRequestFactory(CloseableHttpClient httpClient) {      HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient);      factory.setReadTimeout(5000); // ms      factory.setConnectTimeout(15000);// ms      return factory;   }   @Bean   public CloseableHttpClient httpClient() {      return HttpClientBuilder.create().build();   }}

在再controller里面使用@Autowired可以注入RestTemplate、ClientHttpRequestFactory、CloseableHttpClient了

原创粉丝点击