【发布时间】:2019-04-14 22:58:42
【问题描述】:
有一个自动装配服务的过滤器。 我将服务作为构造函数参数注入 - 从注册过滤器的配置中。
MyFilter implements Filter {
private final ServiceToBeInjected serviceToBeInjected;
public MyFilter(ServiceToBeInjected serviceToBeInjected) {
this.serviceToBeInjected = serviceToBeInjected;
}
}
public class ConfigClass {
private final ServiceToBeInjected serviceToBeInjected;
@Autowired
public ConfigClass(ServiceToBeInjected serviceToBeInjected) {
this.serviceToBeInjected = serviceToBeInjected;
}
@Bean
public FilterRegistrationBean<MyFilter> filterRegistrationBean() {
final FilterRegistrationBean<MyFilter> filterRegBean = new FilterRegistrationBean<>();
filterRegBean.setFilter(new MyFilter(serviceToBeInjected));
filterRegBean.addUrlPatterns(");
return filterRegBean;
}
}
我觉得从配置自动装配可能不太好。 还有其他更好的方法吗?
【问题讨论】:
-
请学习正确的缩进。这是不可读的。这次给你修好了。
-
filter是一个类?见stackoverflow.com/questions/32494398/…
标签: java spring-boot dependency-injection autowired