FilterRegistrationBean не видит бин указанный в registrationBean.addInitParameter
Есть класс -
@Configuration
@RequiredArgsConstructor
public class WebDavConfig
В нем инициализируется набор параметров -
private final WebDavAuthHelper webDavAuthHelper;
private final WebDavLockManager webDavLockManager;
private final WebDavService webDavService;
Также в нем инициализируется
@Bean
public FilterRegistrationBean<SpringMiltonFilter> miltonFilter() {
FilterRegistrationBean<SpringMiltonFilter> registrationBean = new FilterRegistrationBean<>();
registrationBean.setFilter(new SpringMiltonFilter());
registrationBean.addUrlPatterns("/webdav/*");
registrationBean.addInitParameter("contextConfigClass", WebDavConfig.class.getName());
return registrationBean;
}
Соответвенно в процессе запуска отваливается
2020-06-22 21:02:46,806 ERROR o.a.c.c.C.[Tomcat].[localhost].[/] Exception starting filter [springMiltonFilter]
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webDavConfig': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 's.s.sce.service.storage.webdav.WebDavAuthHelper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
(бины туда в принципе не автовайрятся, но они сущетсвуют и их видит AppContext)
Однако если поменять аннотацию @Configuration -> @Component или убрать
registrationBean.addInitParameter("contextConfigClass", WebDavConfig.class.getName());
Все заводится. Какая может быть природа такого поведения?