Добрый день.
Создаю свой BeanPostProcessor и хочу его добавить явно (не с помощью
bean).
Делаю в Spring MVC так:
public class BuhApp implements WebApplicationInitializer
{
@Override
public void onStartup(ServletContext servletContext)
{
AnnotationConfigWebApplicationContext context =
new AnnotationConfigWebApplicationContext();
context.register(BuhAppConfig.class);
context.getBeanFactory().addBeanPostProcessor(new MyBeanPostProcessor());
DispatcherServlet servlet = new DispatcherServlet(context);
ServletRegistration.Dynamic registration = servletContext.addServlet("app", servlet);
registration.setLoadOnStartup(1);
registration.addMapping("/*");
}
}
Но в результате выдает ошибку:
Caused by: java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
Посмотрел в интернете. Там делают так же, но не в Spring MVC, и там работает. А в Spring MVC нет.
P.S. Не нужно советовать зарегистрировать как бин. Это я знаю. Интересует как сделать с помощью ConfigurableBeanFactory.