开发者社区> 问答> 正文

Spring 中 数据源加载问题:报错 

我再开发中遇到如下问题:     Web项目本身包含一个applicationContext.xml和JDBC.properties文件,另外引用的jar包中也包含一个applicationContext.xml和JDBC.properties文件,两个applicationContext.xml引用JDBC.properties时使用的数据源名称不同,且两个JDBC.properties文件中定义了不同的数据库配置;Web项目的web.xml中使用classpath:applicationContext.xml引用applicationContext.xml。     请问,在项目启动时,这两个applicationContext.xml会同时被初始化,两个JDBC.properties中的数据库又会被同时初始化吗?     另:如果两个jdbc.properties文件中定义的用户名、密码使用的KEY相同(userName=)而值不同,会造成引用的数据库配置的参数发生变化吗?    

展开
收起
kun坤 2020-06-04 21:09:01 648 0
1 条回答
写回答
取消 提交回答
  • 使用web.xml 的形式引导加载,classpath默认加载的是当前项目下的配置文件

    classpath:只会到你的class路径中查找找文件;
    classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找.

    ######回复 @gitOpen_1 : 我是用的版本是 Spring 4.0.0 realease,而且出现上述问题的时候并不是正常情况下出现的,以前没出现此问题,只是由于重启了一个节点才出现的这个问题。然后重新发个包就不出现了。######回复 @码上中国博客 : 之前用3.x的版本有这个问题,不知道现在是否修复,如果没有会直接引用系统的用户名密码######对了,还有一个问题,由于我的applicationContext引用数据库用户名和密码分别使用的是${username} 、${password},如果这种情况下,某些Spring版本会直接以主机系统用户名和密码链接数据库吗?######回复 @码上中国博客 : 不太了解WEBSPHERE######正常情况下应该是这样,但是我遇到的问题是这样的,我们的应用是WEBSPHERE集群,正常时加载jdbc没有问题,但是有一次使用dm重启了其中一个节点,然后就出现了这个被重启的节点数据库加载成错误的数据源(按照我们推断,可能是加载了jar包中的数据源-------应用监控显示一直以root用户连接数据库,并且jar包中的数据源配置用户名确实为root)。您认为确实如此吗?
    2020-06-05 22:26:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多