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());

Все заводится. Какая может быть природа такого поведения?


Ответы (0 шт):