spring 启动过滤器使用的注入依赖
Injection Dependency of spring boot filter usage
我正在练习 spring 启动 API 访问令牌项目,这是我的问题。
这是我的过滤器文件,我正在尝试扩展 OncePerRequestFilter
并使用 @RequiredArgsConstructor
注释将三个参数注入到过滤器中。
@Component
@RequiredArgsConstructor
public class LogInFilter extends OncePerRequestFilter {
private final OAuthService oAuthService;
private final AccessTokenService accessTokenService;
private final ObjectMapper mapper;
这是@Bean
@Configuration
public class ApplicationConfig {
@Bean
public FilterRegistrationBean logInFilter() {
ObjectMapper mapper = new ObjectMapper();
FilterRegistrationBean bean = new FilterRegistrationBean(new LogInFilter());
bean.addUrlPatterns("/test/api");
bean.setOrder(Integer.MIN_VALUE);
return bean;
}
而且我不知道如何将这三个参数作为构造函数放入上面的新 LogInFilter()
这样做
@Bean
public FilterRegistrationBean logInFilterRegistration(LogInFilter logInFilter) {
FilterRegistrationBean bean = new FilterRegistrationBean(logInFiliter);
bean.addUrlPatterns("/test/api");
bean.setOrder(Integer.MIN_VALUE);
return bean;
}
您的过滤器带有 @Component
注释,因此 Spring 将自动创建一个实例,您可以像这样使用它。
我正在练习 spring 启动 API 访问令牌项目,这是我的问题。
这是我的过滤器文件,我正在尝试扩展 OncePerRequestFilter
并使用 @RequiredArgsConstructor
注释将三个参数注入到过滤器中。
@Component
@RequiredArgsConstructor
public class LogInFilter extends OncePerRequestFilter {
private final OAuthService oAuthService;
private final AccessTokenService accessTokenService;
private final ObjectMapper mapper;
这是@Bean
@Configuration
public class ApplicationConfig {
@Bean
public FilterRegistrationBean logInFilter() {
ObjectMapper mapper = new ObjectMapper();
FilterRegistrationBean bean = new FilterRegistrationBean(new LogInFilter());
bean.addUrlPatterns("/test/api");
bean.setOrder(Integer.MIN_VALUE);
return bean;
}
而且我不知道如何将这三个参数作为构造函数放入上面的新 LogInFilter()
这样做
@Bean
public FilterRegistrationBean logInFilterRegistration(LogInFilter logInFilter) {
FilterRegistrationBean bean = new FilterRegistrationBean(logInFiliter);
bean.addUrlPatterns("/test/api");
bean.setOrder(Integer.MIN_VALUE);
return bean;
}
您的过滤器带有 @Component
注释,因此 Spring 将自动创建一个实例,您可以像这样使用它。