RequestMappingHandlerMapping注入的正确姿势

这篇博客详细介绍了如何在SpringMVC中正确注入RequestMappingHandlerMapping。文章首先阐述了其作为核心Bean的作用,接着讲解了Spring管理的两个ApplicationContext。然后,通过两种方式展示了注入方法:一是直接在Controller中使用@Autowired注解,二是通过ApplicationContext获取。文章提醒读者注意注入时机,并提供了动态注册API的建议。

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

简述

RequestMappingHandlerMapping是springMVC里面的核心Bean,spring把我们的controller解析成RequestMappingInfo对象,然后再注册进RequestMappingHandlerMapping中,这样请求进来以后就可以根据请求地址调用到Controller类里面了。
Controller毕竟是写死的,在有的情况下我们可能还需要动态地注册一些API到springMVC的容器中,就需要注入了。但是注入的时候,会发现不一定好使,本文专门做一下解释说明。

基本知识点

  1. RequestMappingHandlerMapping对象本身是spring来管理的,可以通过ApplicationContext取到,所以并不需要我们新建。
  2. 在SpringMVC框架下,会有两个ApplicationContext,一个是Spring IOC的上下文,这个是java web框架的Listener里面配置,就是我们经常用的web.xml里面的org.springframework.web.context.ContextLoaderListener,由它来完成IOC容器的初始化和bean对象的注入。
  3. 另外一个是ApplicationContext是由org.springframework.web.servlet.DispatcherServlet完成的,具体是在org.springframework.web.servlet.FrameworkServlet#initWebApplicationContext()这个方法做的。而这个过程里面会完成RequestMappingHandlerMapping这个对象的初始化。

第一种方式:Controller注入

你直接在Controller按照下述方法写:

    @Autowired
    RequestMappingHandlerMapping requestMappingHandlerMapping;

这样就可以了,很简单,非Controlle

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值