Мое очень основное приложение пружины перестало работать, и я не могу понять, что произошло. pom.xml:AnnotationConfigApplicationContext еще не обновился - что случилось?
<properties>
<spring.version>4.1.1.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
Config Класс:
@Configuration
public class MyConfig {
@Bean
public HelloWorld helloWorld() {
return new HelloWorld();
}
}
Bean класс:
public class HelloWorld {
private String message;
public void setMessage(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
}
Точка входа применения:
public class MainApp {
public static void main(String[] args) {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
ctx.register(MyConfig.class);
HelloWorld bean = ctx.getBean(HelloWorld.class);
bean.setMessage("ladjfaj");
System.out.println(bean.getMessage());
}
}
И я получаю сообщение об ошибке
Исключение в потоке "главный" java.lang.IllegalStateException: org.spring[email protected]6ebf8cf5 не был обновлен еще в org.springframework.context.support.AbstractApplicationContext.assertBeanFactoryActive (AbstractApplicationContext.java:943) на org.springframework.context.support.AbstractApplicationContext.getBean (AbstractApplicationContext.java:967) в com.nikolas.config.MainApp.main (MainApp.java:12)
Спасибо, это работает! Нужно ли называть ** ctx.registerShutdownHook(); ** для правильного спуска контейнера? – Nikolas
@ Николас Я так не думаю. – Jens
Эта ссылка может быть полезна https: //docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/AnnotationConfigApplicationContext.html#register-java.lang.Class ... - – Nikolas