- 严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
- org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 28 in XML document from class path resource [applicationContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 28; columnNumber: 81; cvc-complex-type.2.3: 元素 'property' 必须不含字符 [子级], 因为该类型的内容类型为“仅元素”。
- at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:399)
- at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
- at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
- at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
- at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:216)
- at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:187)
- at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
- at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
- at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)
- at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537)
- at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:452)
- at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
- at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
- at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
- at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4994)
- at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5492)
- 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:649)
- at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1245)
- at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1895)
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
- at java.util.concurrent.FutureTask.run(FutureTask.java:262)
- at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
- at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
- at java.lang.Thread.run(Thread.java:745)
****************************错误原因***************************
错误代码:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass">${jdbc.driverClassName}</property>
<property name="jdbcUrl" >${jdbc.url}</property>
<property name="user" >${jdbc.username}</property>
<property name="password" >${jdbc.password}</property>
<property name="maxPoolSize" >${c3p0.pool.size.max}</property>
<property name="minPoolSize" >${c3p0.pool.size.min}</property>
<property name="initialPoolSize" >${c3p0.pool.size.ini}</property>
<property name="acquireIncrement" >${c3p0.pool.size.increment}</property>
</bean>
<property name="driverClass">${jdbc.driverClassName}</property>
<property name="jdbcUrl" >${jdbc.url}</property>
<property name="user" >${jdbc.username}</property>
<property name="password" >${jdbc.password}</property>
<property name="maxPoolSize" >${c3p0.pool.size.max}</property>
<property name="minPoolSize" >${c3p0.pool.size.min}</property>
<property name="initialPoolSize" >${c3p0.pool.size.ini}</property>
<property name="acquireIncrement" >${c3p0.pool.size.increment}</property>
</bean>
正确代码
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driverClassName}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="maxPoolSize" value="${c3p0.pool.size.max}"/>
<property name="minPoolSize" value="${c3p0.pool.size.min}" />
<property name="initialPoolSize" value="${c3p0.pool.size.ini}"/>
<property name="acquireIncrement" value="${c3p0.pool.size.increment}"/>
</bean>
<property name="driverClass" value="${jdbc.driverClassName}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="maxPoolSize" value="${c3p0.pool.size.max}"/>
<property name="minPoolSize" value="${c3p0.pool.size.min}" />
<property name="initialPoolSize" value="${c3p0.pool.size.ini}"/>
<property name="acquireIncrement" value="${c3p0.pool.size.increment}"/>
</bean>