一:springboot集成shiro时的相关问题处理
1.shiro集成进springboot时,一定要采取spring boot的写法进行集成,不要采用xml文件配置,否则会造成shiro中获取不到spring管理的bean
2.shiro中采用spring的@Value注解时,如果调用了LifecycleBeanPostProcessor,需要加static或者删除,否则不起作用,如下:
/** * 不加static 会导致springboot Configuration 获取不到@value配置问题 * @return */@Bean(name = "lifecycleBeanPostProcessor")@ConditionalOnMissingBeanpublic static LifecycleBeanPostProcessor lifecycleBeanPostProcessor() { return new LifecycleBeanPostProcessor();}
3.shiro集成redis时从redis获取session强转时报ClassCastException,自己转自己报的类型转换错误,主要是springboot中引入了 spring-boot-devtools造成,类加载器不一致引起错误(具体需要深入了解)去掉即可解决问题