2015-02-09 14 views
6

Çok temel ilkbahar uygulamam çalışmayı durdurdu ve ne olduğunu anlayamıyorum. pom.xml:AnnotationConfigApplicationContext henüz yenilenmedi - sorun nedir?

<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> 

Yapılandırma sınıfı:

@Configuration 
public class MyConfig { 

@Bean 
public HelloWorld helloWorld() { 
     return new HelloWorld(); 
    } 
} 

Bean sınıfı: Uygulamanın

public class HelloWorld { 
    private String message; 

    public void setMessage(String message) { 
     this.message = message; 
    } 
    public String getMessage() { 
     return message; 
    } 
} 

Giriş noktası:

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()); 
} 
} 

Ve dizisindeki bir hatayı

İstisna alıyorum "ana" java.lang.IllegalStateException: org.spring[email protected]6ebf8cf5 henüz yenilenir edilmemiştir com.nikolas.config.MainApp.main de org.springframework.context.support.AbstractApplicationContext.getBean (AbstractApplicationContext.java:967) de org.springframework.context.support.AbstractApplicationContext.assertBeanFactoryActive (AbstractApplicationContext.java:943) (MainApp.java:12)

cevap

12

Sen ctx.getBean(HelloWorld.class);

+0

Teşekkür çağırabilmek ctx.refresh() aramak zorunda, çalışıyor! Konteynerin uygun şutu için ** ctx.registerShutdownHook(); ** 'yi çağırmak gerekli midir? – Nikolas

+0

@Nikolas Ben öyle düşünmüyorum. – Jens

+0

Bu bağlantı yararlı olabilir https: //docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/AnnotationConfigApplicationContext.html#register-java.lang.Class ... - – Nikolas