2013-08-09 44 views
7

Dinamik olarak Bean oluşturmak için ek açıklamalar kullanıyorum, aşağıdaki hataları alıyorum.Sınıf javaConfig kullanarak bulunamadı

package demoproject; 

import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration; 
@Configuration 
public class ProductFactory { 

    public ProductFactory() { 
     // TODO Auto-generated constructor stub 
    } 

    @Bean 
    public Product josh(){ 
     Product josh = new Battery(); 
     josh.setId("cdrw"); 
     josh.setPrice(100); 
     return josh; 
    } 
} 

web.xml

<!-- Bean for JavaConfig --> 
    <bean class='demoproject.ProductFactory' /> 
    <!-- be sure to include the JavaConfig bean post-processor --> 
    <bean class="org.springframework.config.java.process.ConfigurationPostProcessor"/> 

Hata günlüğü

Exception in thread "main" org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframework.config.java.process.ConfigurationPostProcessor] for bean with name 'org.springframework.config.java.process.ConfigurationPostProcessor#0' defined in class path resource [web.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.config.java.process.ConfigurationPostProcessor 
    at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1275) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:575) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1344) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:910) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:607) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83) 
    at demoproject.ProductCreater.main(ProductCreater.java:31) 
Caused by: java.lang.ClassNotFoundException: org.springframework.config.java.process.ConfigurationPostProcessor 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at org.springframework.util.ClassUtils.forName(ClassUtils.java:260) 
    at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:416) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1296) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1267) 
    ... 9 more 

hatasını nasıl neyin neden bilsin, bunun için deneyebilirsiniz herhangi bir düzeltme var mı?

+0

ben başka soruya oldukça benzer olduğundan, ek açıklaması için bakmak ve themy paket –

cevap

0

Çalışma zamanı sınıf yolunuzda spring-core yok. Proje planınız için uygun bir teknik kullanarak eklemelisiniz, örneğin Simon'ın önerdiği gibi Maven POM'a ekleyerek. ilkbahar 3,0 den, sadece XML yapılandırma içinde fasulye gibi Java-config sınıfını tanımlamak, bir daha org.springframework.config.java.process.ConfigurationPostProcessor gerekmez üzerinde

+0

yorumunu kaldırıldı tarama bahar söylemeseydim ve ben onlar yeniden işlenmiş düşünüyorum var kaldırmak deneyin biraz İlkbaharda 3. Eski bir versiyonunu kullanıyor olabilir. –

+0

O hala XML tabanlı yapılandırma kullanıyor, bu yüzden bir şey yok. – chrylis

+0

Bu, bahar 3.2. Yinelenen soruda kabul edilen işaretlenmiş cevapla denedim. Şimdi anladım "Hayır tanımlı 'josh' tanımlıdır" –

16

.

<bean class="demoproject.ProductFactory" /> 

<bean class="org.springframework.config.java.process.ConfigurationPostProcessor"/> 
+0

İlkbahar 3.2 kullanıyorum. Fasulye josh tanımlı değil aynı hata –

+0

teşekkürler. Bu mesajı görene kadar güncel bilgiler aldım. – tonga

+0

neden bahar belgelerinde güncellenmiyor – kaissun

İlgili konular