org.springframework.beans.factory.config.PropertyPlaceholderConfigurer

本文深入探讨了Spring框架中PropertyPlaceholderConfigurer的使用方法,包括如何通过location和locations属性加载配置文件,并解析占位符来实现灵活的配置管理。

org.springframework.beans.factory.config.PropertyPlaceholderConfigurer属性占位符

<beans>
    <bean id="propertyConfigurer"  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <!-- 
        使用location属性定义单个配置文件
        <property name="location">
            <value>classpath:/com/zsw/config/jdbc.properties</value>
        </property>
         -->

        <!-- 使用locations属性定义多个配置文件 -->
        <property name="locations">
          <list>
            <value>classpath:/com/zsw/config/jdbc.properties</value>
          </list>
        </property> 
    </bean>
</beans>
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'apnsPayloadMap' defined in null: Could not resolve placeholder 'Tapo.SelfCleanRobotSelfMopCleanCompleteEvent.msg.type' in value "${Tapo.SelfCleanRobotSelfMopCleanCompleteEvent.msg.type}"; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'Tapo.SelfCleanRobotSelfMopCleanCompleteEvent.msg.type' in value "${Tapo.SelfCleanRobotSelfMopCleanCompleteEvent.msg.type}" at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:230) at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.processProperties(PropertyPlaceholderConfigurer.java:211) at com.tplink.cloud.common.config.utils.CommonPropertyPlaceholderConfigurer.processProperties(CommonPropertyPlaceholderConfigurer.java:46) at com.tplink.cloud.msgcenter.config.PushConfig.processProperties(PushConfig.java:171) at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:86) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:291) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:167) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:707) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:533) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:144) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:85) at com.tplink.cloud.msgcenter.Bootstrap.initSpringContent(Bootstrap.java:123) ... 2 more Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'Tapo.SelfCleanRobotSelfMopCleanCompleteEvent.msg.type' in value "${Tapo.SelfCleanRobotSelfMopCleanCompleteEvent.msg.type}" at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180) at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126) at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer$PlaceholderResolvingStringValueResolver.resolveStringValue(PropertyPlaceholderConfigurer.java:230) at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveStringValue(BeanDefinitionVisitor.java:296) at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveValue(BeanDefinitionVisitor.java:217) at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitMap(BeanDefinitionVisitor.java:272) at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveValue(BeanDefinitionVisitor.java:211) at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitPropertyValues(BeanDefinitionVisitor.java:147) at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitBeanDefinition(BeanDefinitionVisitor.java:85) at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:227)
最新发布
09-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值