AbstractAnnotationConfigDispatcherServletInitializer в Spring и регистрация классов

я преобразовываю свое весеннее приложение на основе xml в конфигурацию java и теряю ад. У меня есть несколько классов @config, и моя проблема заключается в регистрации MyWebConfiguration.class. Этот класс является дочерним по отношению к RepositoryRestMvcConfiguration и, конечно же, содержит некоторые методы @bean. Но метод @bean не вызывается, хотя регистрация прошла без проблем.

Есть ли проблемы при переопределении как getRootConfigClasses(), так и getServletConfigClasses()?

Если я помещу класс MyWebConfiguration в getRootConfigClasses(), он по крайней мере запустит эти методы @bean.

public class AppInitializer extends
       AbstractAnnotationConfigDispatcherServletInitializer {

...
@Override
protected final Class<?>[] getRootConfigClasses() {
    return new Class[]{CoreConfiguration.class, JpaConfiguration.class,
            ShiroSecurityConfig.class};
}

@Override
protected final Class<?>[] getServletConfigClasses() {
    return new Class[]{MyWebConfiguration.class};
}
}

Кроме того, у меня серьезные проблемы с использованием классов @Resource in@Configuration для получения bean-компонента из другого класса конфигурации. Но это просто побочный вопрос, который у меня есть на данный момент.

Проблема с методами @Bean, которые не будут запущены, является самой серьезной. Спасибо за любую информацию.


person Logemann    schedule 28.02.2015    source источник
comment
Вы добавили аннотацию @Configuration к своему классу, где происходят ваши @Bean?   -  person Efe Kahraman    schedule 28.02.2015
comment
Да, конечно.   -  person Logemann    schedule 01.03.2015
comment
Еще одна проверка: вы поставили @ComponentScan (обычно в свой основной класс)?   -  person Efe Kahraman    schedule 01.03.2015
comment
ComponentScan не несет ответственности за мои классы @Configuration. Я предоставил их через AbstractAnnotationConfigDispatcherServletInitializer.   -  person Logemann    schedule 01.03.2015
comment
я откажусь от этого. Возможно, это как-то связано с циклическими ссылками, потому что я получаю предупреждения об этом. Конфигурация на основе XML справляется с этим НАМНОГО лучше. Java Config для меня уже мертв.   -  person Logemann    schedule 01.03.2015


Ответы (1)


У меня был сложный web.xml, и я успешно перешел на конфигурацию Java. Вы можете сослаться на мой ответ для того же самого.

person Anil Agrawal    schedule 27.02.2017