spring通过@Configuration @Bean注入Bean

本文介绍了如何在 Spring MVC 项目中利用 @Configuration 和 @Bean 注解来注入 Bean,即便 IntelliJ IDEA 会显示警告但并不影响实际使用。示例代码展示在 Controller 中,@Autowired 成功注入了 RestTemplate、ClientHttpRequestFactory 和 CloseableHttpClient。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

@Autowired
private HttpServletRequest request;

@Autowired
private 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;
@Configuration
class 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了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值