Context initialization failed

1Context initialization failed 2org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'dataSource' defined in URL [jar:file:/G:/idjavacode/pyg_qingmu/pygqingmuparent/pyg_qingmu_service_sellergoods/target/pyg_qingmu_service_sellergoods/WEB-INF/lib/pyg_qingmu_dao-1.0-SNAPSHOT.jar!/spring/applicationContext_dao.xml]: Could not resolve placeholder 'jdbc.driver' in string value "${jdbc.driver}"; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'jdbc.driver' in string value "${jdbc.driver}" 3 at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:211) 4 at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.processProperties(PropertySourcesPlaceholderConfigurer.java:177) 5 at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.postProcessBeanFactory(PropertySourcesPlaceholderConfigurer.java:152) 6 at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:284) 7 at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:166) 8 at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:678) 9 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:520) 10 at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:446) 11 at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328) 12 at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107) 13 at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4792) 14 at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5256) 15 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 16 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754) 17 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730) 18 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) 19 at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1736) 20 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 21 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 22 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 23 at java.lang.reflect.Method.invoke(Method.java:498) 24 at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) 25 at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) 26 at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) 27 at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:483) 28 at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:432) 2917-Apr-2019 10:07:36.403 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file 30 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 31 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 32 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 33 at java.lang.reflect.Method.invoke(Method.java:498) 34 at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) 35 at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) 36 at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) 37 at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468) 38 at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) 39 at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309) 40 at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401) 4117-Apr-2019 10:07:36.405 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal Context [] startup failed due to previous errors 42 at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829) 43 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 44 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 45 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 46 at java.lang.reflect.Method.invoke(Method.java:498) 47 at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:361) 48 at sun.rmi.transport.Transport$1.run(Transport.java:200) 49 at sun.rmi.transport.Transport$1.run(Transport.java:197) 50 at java.security.AccessController.doPrivileged(Native Method) 51 at sun.rmi.transport.Transport.serviceCall(Transport.java:196) 52 at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) 53 at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) 54 at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683) 55 at java.security.AccessController.doPrivileged(Native Method) 56 at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) 57 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 58 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 59 at java.lang.Thread.run(Thread.java:748) 60Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'jdbc.driver' in string value "${jdbc.driver}" 61 at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:174) 62 at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126) 63 at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:204) 64 at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:178) 65 at org.springframework.context.support.PropertySourcesPlaceholderConfigurer$2.resolveStringValue(PropertySourcesPlaceholderConfigurer.java:172) 66 at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveStringValue(BeanDefinitionVisitor.java:282) 67 at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveValue(BeanDefinitionVisitor.java:204) 68 at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitPropertyValues(BeanDefinitionVisitor.java:141) 69 at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitBeanDefinition(BeanDefinitionVisitor.java:82) 70 at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:208) 71 ... 54 more

我在遇到这个异常的时候,是因为,我在引入dao层需要的properties配置文件的时候,还需要引入redis的properties的配置文件,然后dao层引入配置文件的时候,找到的是redis的properties文件

xml中能使用例如${xxx}作为占位符,是因为你使用了context:property-placeholderlocation="/xxx/XXX.properties"/,而这个配置其实帮你创建了一个org.springframework.beans.factory.config.PropertySourcesPlaceholderConfigurer的bean,当程序加载到context:property-placeholder时,会扫描所有的bean,然后适配,但是如果你项目中引入了多个资源文件,那么势必在第一次扫描所有bean的时候会有不适配的情况发生,好比我现在扛着一袋子萝卜去找坑种,一个萝卜一个坑,第一袋萝卜找一遍所有的坑,把我袋子里的萝卜扔进坑里,但是发现还有很多坑,而我的袋子里没有这些坑的萝卜,这些萝卜在另外一个袋子里,而我此时不知道,以为自己多挖了很多坑,想报警。

所以只要在dao层的配置文件的

<context:property-placeholder location="classpath*:properties/*.properties" ignore-unresolvable="true"></context:property-placeholder>

中加入一个加入ignore-unresolvable="true"配置,就可以完美的解决这个异常,然后路径的话使用全部的路径,

也就是在classpath后面加一个*,加载全部的所有的配置文件.

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java将前端的json数组字符串转换为列表

记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang

Context initialization failed - HelloWorld