信息: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
11:01:58,750 ERROR ContextLoader:205 - Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: Error registering bean with name 'dataSource' defined in file [E:\Tomcat\apache-tomcat-5.5.26\webapps\ImportExcel_JDBC\WEB-INF\classes\applicationContext-base.xml]: Could not resolve placeholder 'dataSource.driverClassName'
at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.processProperties(PropertyPlaceholderConfigurer.java:242)
at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:75)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:416)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:330)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
11:01:58,796 ERROR [/ImportExcel_JDBC]:3768 - Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException: Error registering bean with name 'dataSource' defined in file [E:\Tomcat\apache-tomcat-5.5.26\webapps\ImportExcel_JDBC\WEB-INF\classes\applicationContext-base.xml]: Could not resolve placeholder 'dataSource.driverClassName'
at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.processProperties(PropertyPlaceholderConfigurer.java:242)
at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:75)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:416)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:330)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2008-3-24 11:01:58 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2008-3-24 11:01:58 org.apache.catalina.core.StandardContext start
严重: Context [/ImportExcel_JDBC] startup failed due to previous errors
2008-3-24 11:02:00 org.apache.catalina.core.ApplicationContext log

解决方案 »

  1.   

    applicationContext-base.xml
    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:aop="http://www.springframework.org/schema/aop"
         xmlns:tx="http://www.springframework.org/schema/tx"
         xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
               http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
               http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"
               default-autowire="byName"
               >
        <bean id="placeholderConfig"
            class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="location">
                <value>classpath:jdbc.properties</value>
            </property>
        </bean>
        <bean id="dataSource"
            class="org.apache.commons.dbcp.BasicDataSource"
            destroy-method="close">
            <property name="driverClassName">
                <value>${dataSource.driverClassName}</value>
            </property>
            <property name="url">
                <value>${jdbc.url}</value>
            </property>
            <property name="username">
                <value>${jdbc.username}</value>
            </property>
            <property name="password">
                <value>${jdbc.password}</value>
            </property>
            <property name="maxActive">
                <value>60</value>
            </property>
            <property name="maxIdle">
                <value>50</value>
            </property>
            <property name="maxWait">
                <value>5000</value>
            </property>
        </bean>
        
        <bean id="messageSource"
            class="org.springframework.context.support.ResourceBundleMessageSource">
            <property name="basename" value="i18n/messages" />
        </bean>
    </beans>applicationContext-common.xml<?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
               http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
               http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"
        default-autowire="byName" default-lazy-init="true">
        
       <!-- tx:advice-->
        <bean id="transactionManager"
            class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource">
                <ref bean="dataSource" />
            </property>
        </bean>    <!-- 以AspectJ方式 定义 AOP -->
        <aop:config proxy-target-class="true">
            <aop:advisor
                pointcut="execution(* com.ricoo.service..*.*(..))"
                advice-ref="txAdvice" />
        </aop:config>    <!-- 基本事务定义,使用transactionManager作事务管理
            默认get*方法的事务为readonly,其余方法按默认设置-->
        <tx:advice id="txAdvice">
            <tx:attributes>
                <tx:method name="get*" read-only="true" />
                <tx:method name="find*" read-only="true" />
                <tx:method name="is*" read-only="true" />
                <tx:method name="*" />
            </tx:attributes>
        </tx:advice>
        
        <!-- 声明Dao对象 -->
        <bean id="jdbcTemplateDao"
            class="com.ricoo.service.JDBCTemplateDao">
            <property name="dataSource">
                <ref bean="dataSource" />
            </property>
            <property name="transactionManager">
                <ref local="transactionManager" />
            </property>
        </bean>
    </beans>
      

  2.   

    defined in file [E:\Tomcat\apache-tomcat-5.5.26\webapps\ImportExcel_JDBC\WEB-INF\classes\applicationContext-base.xml]: Could not resolve placeholder 'dataSource.driverClassName' 
    找不到dataSource 相关文件 
    你一定要引用?直接写上去不行么?
    <bean id="dataSource" 
            class="org.apache.commons.dbcp.BasicDataSource" 
            destroy-method="close"> 
             <property name="driverClassName"> 
                 <value>${dataSource.driverClassName} </value> 
             </property> 
             <property name="url"> 
                 <value>${jdbc.url} </value> 
             </property> 
             <property name="username"> 
                 <value>${jdbc.username} </value> 
             </property> 
             <property name="password"> 
                 <value>${jdbc.password} </value> 
             </property> 
             <property name="maxActive"> 
                 <value>60 </value> 
             </property> 
             <property name="maxIdle"> 
                 <value>50 </value> 
             </property> 
             <property name="maxWait"> 
                 <value>5000 </value> 
             </property> 
         </bean> 
         
      

  3.   

    不解 我用jdbc.properties 配置数据源,是不是得在spring配置里引用这个文件
      

  4.   

    谢谢zero1111  是没有解析出jdbc.properties 
      

  5.   

    不知道要在那个地方引用
    <bean id="placeholderConfig" 
            class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
             <property name="location"> 
                 <value>classpath:jdbc.properties </value> 
             </property> 
         </bean> 
    不算引用吗?
      

  6.   

    这是我目前的一个项目的属性文件的配置,楼主参考以下:<!-- 属性文件读入 -->
    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
    <list>
    <value>classpath*:config/jdbc.properties</value>
    <value>classpath*:config/mail.properties</value>
    </list>
    </property>
    </bean>
      

  7.   

    楼上的貌似和我这里的一样~ 但要注意jar的引入,之前我就犯过这样的错