ОБНОВЛЕНО
Я нашел подозрительную запись в журнале:
org.springframework.beans.factory.wiring.BeanConfigurerSupport:
BeanFactory has not been set on BeanConfigurerSupport: Make sure this configurer runs in a Spring container.
Unable to configure bean of type [com.mycompany.projectname.App]. Proceeding without injection.
/ ОБНОВЛЕНО
Я работаюв приложении Vaadin + Spring, и я хочу использовать JavaConfig.
В соответствии с некоторыми уроками я построил их отдельно, но когда я их слил, я получил следующее (см. Первый codennet App.java - logger.info (">> mainWindow is null");)
app postconstruct ---------
mainWindow is null
Я попробовал несколько вариантов конфигов, например, в applicationContext и т. Д.
Итак, мой вопрос: как я могу найти реальную проблему?
Спасибо за ваше время и усилия заранее.
Csaba
App.java
@Configurable
public class App extends Application
{
public MainWindow mainWindow;
public MainWindow getMainWindow(...
public void setMainWindow(Main....
@PostConstruct
public void init()
{
logger.info(">>app postconstruct --------- ");
if(mainWindow==null) logger.info(">>mainWindow is null");
else logger.info(">>mainWindow is not null");
}
AppConfig.java
@Configuration
public class AppConfig {
...
@Bean
public MainWindow mainWindow(){
return new MainWindow();
}
....
}
web.xml на основе этой ! учебной ссылки!
...
<context-param>
<param-name>contextClass</param-name>
<param-value>
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>com.mycompany.projectname.config.AppConfig</param-value>
</context-param>
...
<servlet>
<servlet-name>Vaadin Application Servlet</servlet-name>
<servlet-class>com.vaadin.terminal.gwt.server.ApplicationServlet</servlet-class>
<init-param>
<description>Vaadin application class to start</description>
<param-name>application</param-name>
<param-value>com.mycompany.projectname.App</param-value>
</init-param>
<init-param>
<param-name>contextClass</param-name>
<param-value>
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
</param-value>
</init-param>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>com.mycompany.projectname.config.AppConfig</param-value>
</init-param>
</servlet>