PropertyPlaceholderConfigurer
sadece Bahar yapılandırma (XML veya ek açıklamalar) 'de yer tutucular ayrıştırabilir Bunu yapmanın bir yolu var mı. Yay uygulamalarında çok yaygın olan bir Properties
fasulye kullanıyor.
<bean id="properties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list><value>classpath:config.properties</value></list>
</property>
</bean>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
<property name="exposedContextBeanNames">
<list><value>properties</value></list>
</property>
</bean>
Ardından, JSP, sen ${properties.myProperty}
veya ${properties['my.property']}
kullanabilirsiniz: Eğer görünümden bu şekilde (eğer InternalResourceViewResolver
kullandığınız varsayarak) erişebilirsiniz.
gerçekten iyi gidiyor! Ama beyandaki ilk fasulye ProperyPlaceholderConfigurer değil, PropertiesFactoryBean tipindedir. Bu, xml'de özellik yer tutucularının yerini alabilmek için PropertyPlaceholderConfigurerBean'daki uygulama özelliklerinin bildirimini kopyalamak anlamına mı geliyor? – glaz666
@ glaz666: PropertyPlaceholderConfigurer'ın bunun için uygun olmadığını söylemeyi unuttum. Cevabımı biraz düzenledim. – sinuhepop
Bu "özellikler" fasulyeyi PlaceHolderConfigurer ürününe aktardım ve işe yaramış görünüyor, ancak yine de JSP dosyalarında çalışamıyorum çünkü $ {properties} öğesine erişmeyi denediğimde, ContextExposingHttpServletRequest öğesinden getAttribute aramaya çalışmıyor bile fasulye ortaya çıkıyor – glaz666