2013-10-24 44 views
1

我从来没有用过春天,甚至没有学到它,在我的工作场所,当我在tomcat运行的应用程序,我得到以下错误。我不明白,这是什么意思。占位符在$ {}中的值。 。还有应用程序没有错误,我得到的日志文件中此错误春天,无法解决的地方持有人,有人可以解释我

org.springframework.beans.factory.BeanDefinitionStoreException:无效的bean定义名称为”“,在类路径资源[SpringIntegration.xml]定义:莫非无法解决占位符 “”

日志文件:

Oct 25, 2013 10:40:23 AM org.apache.catalina.core.ApplicationContext log 
INFO: Initializing Spring root WebApplicationContext 
Oct 25, 2013 10:40:26 AM org.apache.catalina.core.ApplicationContext log 
INFO: StartupServlet: Executing StartupServlet.init() 
Oct 25, 2013 10:40:26 AM org.apache.catalina.core.ApplicationContext log 
INFO: StartupServlet: StartupServlet.init() successfully executed 
Oct 25, 2013 10:40:29 AM org.apache.catalina.core.ApplicationContext log 
INFO: Initializing Spring root WebApplicationContext 
Oct 25, 2013 10:40:30 AM org.apache.catalina.core.StandardContext listenerStart 
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener 
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'CWSJMSClient' defined in class path resource [SpringIntegration.xml]: Could not resolve placeholder 'VHF.CWS.Hybrid.Contract.RequestQueue' 
    at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.processProperties(PropertyPlaceholderConfigurer.java:287) 
    at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:75) 
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:663) 
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:638) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:407) 
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:968) 
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1646) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) 
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 

2013年10月25日上午10点40分30秒org.apache.catalina.core.ApplicationContext登录 信息:关阀弹簧根WebApplicationContext的

+0

请提供完整的堆栈跟踪。您的问题似乎很模糊 – KyelJmD

回答

2

这听起来像你正在尝试在你的spring配置中使用外部属性,但没有正确配置的PropertyPlaceholderConfigurer bean。请参阅本教程:http://www.mkyong.com/spring/spring-propertyplaceholderconfigurer-example/

在那里,你会发现如何声明包含您的变量CONFIGS,如属性文件的详细说明:

database.username=myusername 
database.password=mypassword 
... 

然后,您引用使用PropertyPlaceholderConfigurer该文件:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="location"> 
     <value>database.properties</value> 
    </property> 
</bean> 
+1

请注意,您也可以使用上下文命名空间中提供的短手。 –

+1

+1但是在使用名称空间之前,请试着了解这些名称空间在幕后为您做的事情。 (听起来像OP是春天很新。) – MattSenter

+0

啊,好点@kungfuters。学习基础架构组件的工作原理可在您需要做一些不是开箱即用的功能时派上用场。 。 Spring提供的所有魔法都建立在几个简单的核心组件之上。 –

0

把下面一行在属性文件

VHF.CWS.Hybrid.Contract.RequestQueue=jms://localhost:636