Spring拦截器的Java配置,其中拦截器使用自动装配的Spring Bean
我想将spring
mvc拦截器添加为Java配置的一部分。我已经有一个基于xml的配置,但是我正在尝试转到Java配置。对于拦截器,我知道可以通过spring文档中的方法来做到这一点-
@EnableWebMvc
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LocaleInterceptor());
}
}
但是我的拦截器使用的是自动连接到其中的spring bean,如下所示:
public class LocaleInterceptor extends HandlerInterceptorAdaptor {
@Autowired
ISomeService someService;
...
}
SomeService类如下所示:
@Service
public class SomeService implements ISomeService {
...
}
我正在使用注释@Service
来扫描Bean,但尚未在配置类中将其指定为@Bean
据我了解,由于java config使用new创建对象,因此spring不会自动将依赖项注入其中。
我如何在Java配置中添加这样的拦截器?
-
只需执行以下操作:
@EnableWebMvc @Configuration public class WebConfig extends WebMvcConfigurerAdapter { @Bean LocaleInterceptor localInterceptor() { return new LocalInterceptor(); } @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(localeInterceptor()); } }
当然,
LocaleInterceptor
需要在某处(XML,Java Config或使用批注)将其配置为Spring
bean,以便WebConfig
注入相关字段。
-
没有XML的Java Spring拦截器
2021-02-02 关注 0 浏览64 1答案
-
spring 3拦截器顺序
2021-02-02 关注 0 浏览97 1答案
-
Spring MVC中的拦截器
2021-02-02 关注 0 浏览87 1答案
-
如何配置请求拦截器与响应拦截器?
2021-01-11 关注 0 浏览575 1答案
-
如何在Spring Boot中使用Spring托管的Hibernate拦截器?
2021-02-01 关注 0 浏览139 1答案
-
Spring MVC拦截器映射问题
2021-02-02 关注 0 浏览80 1答案
-
Spring:标准日志方面(拦截器)
2021-02-02 关注 0 浏览125 1答案
-
如何在Spring Boot中使用Spring托管的Hibernate拦截器?
2021-02-02 关注 0 浏览207 1答案
-
Spring Boot添加Http请求拦截器
2021-02-02 关注 0 浏览226 1答案
-
如何使用Spring MVC拦截器更改发布的值
2021-02-02 关注 0 浏览95 1答案