解決Springboot中Interceptor攔截器中依賴注入失敗
I want to add spring mvc interceptor as part of Java config. I already have a xml based config for this but I am trying to move to a Java config. For interceptors, I know that it can be done like this from the spring documentation-
@EnableWebMvc
@Configuration
public classWebConfigextendsWebMvcConfigurerAdapter {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LocaleInterceptor());
}
}
But my interceptor is using a spring bean autowired into it like follows-
public classLocaleInterceptorextendsHandlerInterceptorAdaptor{
@Autowired
ISomeService someService;
...
}
The SomeService class looks like follows-
@Service
public classSomeServiceimplementsISomeService{
...
}
I am using annotations like for scanning the beans and have not specified them in the configuration class as @Bean
As my understanding, since java config uses new for creating the object, spring will not automatically inject the dependencies into it.
How can I add the interceptors like this as part of the java config?
Answers
34down voteaccepted |
Just do the following:
Of course The documentation for general customization of Spring's MVC configuration can be found here, and specifically for Interceptors see this section |