Не удалось получить бин из контекста весной MVC - PullRequest
0 голосов
/ 27 сентября 2018

Я использую Spring MVC версии 5 Framework.Я не могу получить бин из контекста.Я не использую конфигурацию xml для объявления bean-компонентов.Ниже приведены используемые классы.Если я автоматически связываю контекст приложения в некотором классе обслуживания и использую его для извлечения компонента, он работает.

Ниже приведена ошибка:

BeanFactory не инициализирован или уже закрыт - вызовите«обновить» перед доступом к bean-компонентам через ApplicationContext.

public class Initializer implements WebApplicationInitializer{

public void onStartup(ServletContext servletContext) throws ServletException {
    AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();
    rootContext.register(AppConfig.class);


    Dynamic dynamic = servletContext.addServlet("dispatcher", new DispatcherServlet(rootContext));
    dynamic.addMapping("/");
    dynamic.setLoadOnStartup(1);

    servletContext.addListener(new ContextLoaderListener(rootContext));

    //This line gives the error
    EntityA entityA = rootContext.getBean(EntityA.class);
}

}

Мой класс конфигурации

@Configuration
@EnableWebMvc
@ComponentScan(basePackages="com.main")
public class AppConfig {


    @Bean(name="Entity")
    @Lazy
    public EntityA getEntityA(){
        return new EntityA();
    }

}

МОЙ класс сущности

//@Component(value="Entity")
public class EntityA {

    public EntityA(){
        System.out.println("Entity A initialized");
    }

    public void call(){
        System.out.println("A Called");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...