1.产生的原因
原因一:配置了多个property-placeholder
原因二:前面配置文件的信息被后面配置文件信息覆盖
<context:property-placeholder location="classpath:conn.properties" system-properties-mode=“OVERRIDE” />
1.每一个placeholder读取各自扫描的配置文件,如果有多个配置文件并且有相同的key,具有相同key的value前面的配置会被后面的配置覆盖,然后生成一个包含properties对象的后置处理器
2.如果有多个placeholder就会生成多个多个含有properties对象的后置处理器
3.当对《bean》里面的定义信息进行解析时,如果在第一个properties里面找不到《bean》里面${}里面的配置就会报Could not resolve placeholder
2.解决方案:
程序里面最好只配置一个placeholder,默认配置放在前面,本地配置放在后面,本地配置会覆盖默认配置