如题所述
使ç¨SpELå¯ä»¥æ»¡è¶³ä¸è¿°çéæ±ï¼å¦ä¸æ示ï¼
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<array>
<value>classpath:/settings.properties</value>
</array>
</property>
</bean>
<constructor-arg name="password" value="#{'${redis.password}'?:null}"></constructor-arg>
<!--表示å½redis.passwordä¸ä¸ºç©ºæ¶ï¼é£ä¹è¿åredis.passwordï¼å¦åè¿ånull -->
<!-- æè å¯ä»¥å¦ä¸è¡¨ç¤ºé£ä¹å«ä¹å°±æ´æ¸ æ°äº-->
<constructor-arg name="password" value="#{'${redis.password}'!=''?'${redis.password}':null}"></constructor-arg>
setting.properties:
redis.masterName=mymaster
redis.password=
redis.number=0
注æï¼ä¸å®è¦ç»${redis.password}æ¾å¼å ä¸åå¼å·ï¼å¦åå®å°±ä¼è¢«è§£æ为beanãä»èæ¥éï¼
Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 0): Field or property 'foobared' cannot be found on object of type 'org.springframework.beans.factory.config.BeanExpressionContext'
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<array>
<value>classpath:/settings.properties</value>
</array>
</property>
</bean>
<constructor-arg name="password" value="#{'${redis.password}'?:null}"></constructor-arg>
<!--表示å½redis.passwordä¸ä¸ºç©ºæ¶ï¼é£ä¹è¿åredis.passwordï¼å¦åè¿ånull -->
<!-- æè å¯ä»¥å¦ä¸è¡¨ç¤ºé£ä¹å«ä¹å°±æ´æ¸ æ°äº-->
<constructor-arg name="password" value="#{'${redis.password}'!=''?'${redis.password}':null}"></constructor-arg>
setting.properties:
redis.masterName=mymaster
redis.password=
redis.number=0
注æï¼ä¸å®è¦ç»${redis.password}æ¾å¼å ä¸åå¼å·ï¼å¦åå®å°±ä¼è¢«è§£æ为beanãä»èæ¥éï¼
Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 0): Field or property 'foobared' cannot be found on object of type 'org.springframework.beans.factory.config.BeanExpressionContext'
温馨提示:答案为网友推荐,仅供参考