org.springframework.beans.factory.BeanDefinitionStoreException

时间:2023-03-09 03:57:25
org.springframework.beans.factory.BeanDefinitionStoreException

org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'dataSource' defined in URL [file:/C:/apache-tomcat-6.0.16/webapps/acode/WEB-INF/classes/springconf/application-context.xml]: Could not resolve placeholder 'jdbc.url'
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:3843)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
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:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

前几天修改数据库的链接配置文件的时候,启动应用报出了如上的异常信息,对于我的这个异常,异常信息指示的还是比较明确的通过此句Invalid bean definition with name 'dataSource' defined in URL [file:/C:/apache-tomcat-6.0.16/webapps/acode/WEB-INF/classes/springconf/application-context.xml]: Could not resolve placeholder 'jdbc.url'的提示信息,我查看了对应的数据库的配置项,发现在sqlserver.properties文件中"jdbc.url"少了一个"j",问题的原因找到问题也就很容易解决了。在这里我的问题比较简单,我记下来主要是想说下我通常查看异常的步骤,以便将强记忆:

1:仔细查看异常的信息,有些问题还是比较容易从异常信息中找到对应的提示的,通常只要知道那里出了问题,问题就很容易解决了

2:第二如果不明确问题在哪里,可以回想一下,自己操作了什么引起了对应的异常,逐步的恢复加调试也比较容易定位到问题,定位到问题也差不多就解决问题了

3:百度或者谷歌,网上高手如云,总能找到些解决问题的方式方法,如果自己遇到的问题,网上怎么搜都没有对应的案例,这个时候可以去试试买把彩票了

4:问同事,因为有些问题确实和情景密切相关从网络上找不到比较好的解决方案,就问老同事们,他们通常会有若干办法来解决问题的,至少通常是这样的,多和人商量的另一个好处,就是很容易发现自己忽落的小细节,从而快速的解决问题,毕竟多个脑袋多条思路

5:如果上面的方式还是没发现问题在哪里,就请从头再查一次,将那些你认为不可能出错的地方也仔仔细细的查一下,我遇到过几次,认为不可能出现问题的地方,她却出现了问题,导致花费大量的时间和精力在别处瞎转悠,有些缘木求鱼的错觉!

6:最难解决的问题是不报错的问题,解决问题的第一步就是让他报错,注意运用try...catch。我遇到过实际运行有错但就是不报错的错误,这个错我和另外一个同事查了两个晚上,毫无结果,最后从头查起终于在认为不可能出现问题的地方找到了问题的所在,当时很惊喜,很兴奋,问题也很容易解决,但她特别的隐秘非常不容易查找,在开发环境怎么测试都没问题,放到生产环境就时好时坏的,令人很疑惑!(开发环境:Windows7+Tomcat6.0+Oracle10,生产环境:Liunx+WebLogic+Oracle10)

另外我百度了一下,引起这个异常的情况还有缺少JAR包的情况,参考如下:

http://liuzidong.iteye.com/blog/893960

http://blog.****.net/longeremmy/article/details/7464815