봄 3로 업그레이드하기 전에 내 applicationContext.xml 파일이 있었다 :Spring EL에서 속성 자리 표시자를 사용할 수 있습니까?
<bean class="com.northgateis.pole.ws.PolePayloadValidatingInterceptor">
<property name="validateRequest" value="${validateRequest}" />
<property name="validateResponse" value="${validateResponse}" />
</bean>
경우 $ {하여 validateRequest)와 $ {하여 validateRequest) 내 속성 파일 또는 정의되지 않을 수 속성을 참조하십시오.
스프링 2에서는 이러한 프로퍼티가 등록 정보 파일에 없으면 bean의 setter가 호출되지 않으므로 PolePayloadValidatingInterceptor에 하드 코딩 된 기본값이 사용되었습니다. 봄 3로 업그레이드 한 후
, 행동이 다른 것 같다
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'annotationMapping' defined in class path resource [com/northgateis/pole/ws/applicationContext-ws.xml]: Could not resolve placeholder 'validateRequest'
at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.processProperties(PropertyPlaceholderConfigurer.java:272)
at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:75)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:640)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:615)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:405)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:272)
나는 봄 EL으로 취미 삼아 시도했지만 다음 아무튼 : 속성이 속성에 존재하지 않는 경우, 나는 다음과 같은 예외가 파일 '이 t 작동하는 것 : 엘비스 연산자가 항상 사용됩니다
<bean class="com.northgateis.pole.ws.PolePayloadValidatingInterceptor">
<property name="validateRequest" value="${validateRequest?:true}" />
<property name="validateResponse" value="${validateResponse?:false}" />
</bean>
값 후, 속성이 proeprties 파일에 정의 된 경우에도. 구문이 받아 들여지는 것에 흥미 롭습니다.
제안 사항?
희망적으로 보입니다. 속성이 null (즉, 속성 파일에서 비어 있음) 일 때 실제로 작동하지만 속성 파일에서 속성이 없으면 "placeholder 'validateRequest'"BeanDefinitionStoreException을 해결할 수 없습니다. SPR-7209를 다시 열어보고 봄 팀이 결석을 공백으로 처리 할 수 있는지 확인해 보겠습니다. –