Error creating bean with name 'shiroFilterFactoryBean'

来源:17-1 权限操作记录模块接口开发

雷霆二狗

2019-12-18

大佬,我得项目在线上启动时会报这个错误,望大佬指点。
Error creating bean with name ‘shiroFilterFactoryBean’ defined in class path resource [com/gps/tygl/config/ShiroConfig.class]: Unsatisfied dependency expressed through method ‘shiroFilterFactoryBean’ parameter 0; nested exception is org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name ‘securityManager’: Singleton bean creation not allowed while singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)

@Bean
public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager){
ShiroFilterFactoryBean shiroFilterFactoryBean=new ShiroFilterFactoryBean();
shiroFilterFactoryBean.setSecurityManager(securityManager);

    Map<String,String> filterChainDefinitionMap=new LinkedHashMap<>();
   
    filterChainDefinitionMap.put("/commonality/uploadImagePut/upload","anon");
    filterChainDefinitionMap.put("/helloworld","anon");
    filterChainDefinitionMap.put("/user/userManager/userLogin","anon");
    filterChainDefinitionMap.put("/sys/ueditor/exec","anon");
    shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
    return shiroFilterFactoryBean;

}
写回答

1回答

Jimin

2019-12-19

@Bean
public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager){

这个方法声明时,第一个参数securityManager要加一个注解,这样才能从上下文中取出一个实例化的bean传过来,否则这个类属于有一个参数的构造函数了,那么这个类就无法正常完成初始化了。

0
0

Java开发企业级权限管理系统

源于企业真实Java项目,涉及大量高级技巧,覆盖权限管理开发技术

2261 学习 · 1347 问题

查看课程