Spring boot SpringBootServletInitializer не может выполнить автоматическое подключение из контекста приложения XML - PullRequest
0 голосов
/ 08 октября 2019

У меня есть приложение Spring Boot, у меня есть XML-контекст приложения, определенный в XML, в котором определена группа компонентов. Важный компонент здесь:

<bean id="MyAccessBean" class="com.company.MyAccessBean"> 
        <property name="ds" ref="ds"/>
        <property name="dsR" ref="dsr"/>
    </bean>

Мой скелет класса приложения выглядит следующим образом:

@EnableAutoConfiguration
@ServletComponentScan
@SpringBootApplication
@ImportResource("classpath:applicationContext.xml")
public class MyApplication extends SpringBootServletInitializer {
   @Autowired
   MyAccessBean acBean

   @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(MyApplication.class);
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(MyApplication.class, args);
    }

    @Bean
    public FilterRegistrationBean<ReqLoggingFilter> reqLoggingFilter() {
        FilterRegistrationBean<ReqLoggingFilter> regBean = new FilterRegistrationBean();
        ReqLoggingFilter requestLoggingFilter = new ReqLoggingFilter();
        logger.info("acBean: " + acBean);
        requestLoggingFilter.setAccessBean(acBean);

        regBean.setFilter(requestLoggingFilter);
        regBean.addUrlPatterns("/foo/*");
        return regBean;
    }
}

Проблема заключается в том, что во время вызова метода FilterRegistrationBean MyAccessBean еще не был подключен автоматически, поэтому null. Я использую Spring Boot 2.1.1.RELEASE. Любые предложения о том, как это исправить?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...