黑马程序员技术交流社区
标题:
【成都校区】PropertyPlaceholderConfigurer在聚合工程中的使用问题
[打印本页]
作者:
HelloD
时间:
2018-2-9 09:42
标题:
【成都校区】PropertyPlaceholderConfigurer在聚合工程中的使用问题
本帖最后由 HelloD 于 2018-3-15 12:01 编辑
关于<context:property-placeholder>的一个有趣现象(聚合工程)
现在有两个模块A和B
A的配置文件如下:
A.png
(49.7 KB, 下载次数: 11)
下载附件
2018-2-9 09:38 上传
B的配置文件如下:
B.png
(49.3 KB, 下载次数: 15)
下载附件
2018-2-9 09:38 上传
问题就来了,单独运行A或者B模块的时候都能正常启动,但是A、B集成之后运行的话,spring容器就启动不了;
Could not resolve placeholder 'moduleb.jdbc.driverClassName' in string value "${moduleb.jdbc.driverClassName}"
在spring中扫描配置文件的是一个
PropertyPlaceholderConfigurer对象,他在spring容器中默认只有一个,也就是说在A容器中创建了一个之后,B容器再去创建对象的请求就会被spring直接忽略掉;
因而造成无法正确进行属性替换的问题。
解决方案:
一个项目或一个系统的配置应该放在一起。
<context:property-placeholder locations="classpath*:*.properties" />即可。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2