Le problème que l'intercepteur dans Springboot ne peut pas injecter de haricots

Lorsque vous utilisez l'intercepteur springboot, vous souhaitez injecter des beans dans l'intercepteur pour une utilisation facile, mais si vous l'injectez directement, vous constaterez qu'il ne peut pas être injecté et une exception de pointeur nul sera signalée, ce qui entraînera une interception continue et un échec de libération. .
Solution:
lors de l'enregistrement de l'intercepteur, injectez l'intercepteur en tant que bean

Ajouter l'annotation @Compant à l'intercepteur pour s'enregistrer en tant que composant

@Configuration
public class InterceptorRegister extends WebMvcConfigurerAdapter {
    
    

    //将拦截器注册为bean,防止无法注入
    @Bean
    public ApiInterceptor apiInterceptor(){
    
    
        return new ApiInterceptor();
    }

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
    
    
		//记得这里直接调用apiInterceptor(),得到上面注册的bean      
        registry.addInterceptor(apiInterceptor()).addPathPatterns("/api/**");
        super.addInterceptors(registry);
    }

}

De cette façon, le problème que le haricot ne peut pas être injecté dans l'intercepteur peut être résolu, et le principe spécifique n'est pas mentionné.Après tout, tout le monde est là pour résoudre le problème. Je continuerai à rédiger un article si j'ai le temps

Je suppose que tu aimes

Origine blog.csdn.net/xiaole060901/article/details/111955953
conseillé
Classement