RequestMappingHandlerMapping的@Autowired无法注入问题

1.先贴上具体报的异常:

org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

2.遇到问题的场景:

在使用shiro做权限管理的时候,用到了RequestMappingHandlerMapping用来获取标签以达到重新加载权限.遇到了此异常网上找到的是用@Autowired自动注入private RequestMappingHandlerMapping rmhm;启动猫一直报异常.

3.解决的方法:

先创建一个类手动配置:

package com.skykey.controller;
/**
* 创建时间:2018年9月11日 下午7:10:46  
* 项目名称:ecssm  
* @author Mamba  
* @version 1.0    
* 文件名称:RequestMappingHandlerConfig.java  
**/
 
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
 
@Configuration
public class RequestMappingHandlerConfig{
    @Bean
    public RequestMappingHandlerMapping requestMappingHandlerMapping() {
        RequestMappingHandlerMapping mapping = new RequestMappingHandlerMapping();
        return mapping;
    }
}

 

然后在controller中用RequestMappingHandlerConfig获取RequestMappingHandlerMapping:

 

public class PermissionController {
    @Autowired
    private PermissionService ps;
     @Autowired
    RequestMappingHandlerConfig requestMappingHandlerConfig;
    /**
     * 
    * @Title: reloadPermission  
    * @Description: TODO 将权限表达式动态加载到数据库中的权限表中
    * @param @return
    * @return String 
    * @throws
     */
    @RequestMapping("/reloadPermission")
    public String reloadPermission(){
        //获取所有带有requestmapping标签的方法
        // 读取方法上的RequestMapping注解信息
         final RequestMappingHandlerMapping requestMappingHandlerMapping = requestMappingHandlerConfig.requestMappingHandlerMapping ();
        Map<RequestMappingInfo, HandlerMethod> handlerMethods = requestMappingHandlerMapping.getHandlerMethods();
}
}

 

 

 

 

转 :  https://blog.csdn.net/mamba_he/article/details/82622047

 

posted @ 2020-09-16 10:08  与f  阅读(815)  评论(0编辑  收藏  举报