Printemps: mise en place d'un simple PropertyPlaceholderConfigurer exemple
La solution à cela est sans doute très simple, mais je ne suis pas sûr de ce que je suis absent. Voici ce que j'ai, et PropertyPlaceholderConfigurer
ne remplacera pas le ${...}
.
/* ---- org/company/springtest/Test.java: ---- */
package org.company.springtest;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
public class Test {
public static void main( String... args ) {
Resource res = new FileSystemResource("conf/xml/context2.xml");
XmlBeanFactory beanFactory = new XmlBeanFactory(res);
TestApp app = (TestApp) beanFactory.getBean("testApp");
app.print();
}
}
/* ---- org/company/springtest/TestApp.java: ---- */
package org.company.springtest;
import org.springframework.beans.factory.annotation.Required;
public class TestApp {
private String m_message;
public void setMessage( String message ) {
m_message = message;
}
public void print() {
System.out.println(m_message);
}
}
/* ---- conf/xml/context2.xml: ---- */
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:lang="http://www.springframework.org/schema/lang" xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations" value="file:conf/xml/test.properties" />
</bean>
<bean id="testApp" class="org.company.springtest.TestApp">
<property name="message" value="${test.message}"/>
</bean>
</beans>
/* ---- conf/xml/test.properties: ---- */
test.message=Hello world!
Voici la sortie lors de l'exécution de Test:
Feb 17, 2009 11:23:06 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from file [C:\eclipse\workspace\SpringTest\conf\xml\context2.xml]
${test.message}
Il ressemble à le Configurer n'est pas de remplacer les valeurs de propriété...
OriginalL'auteur Jake | 2009-02-17
Vous devez vous connecter pour publier un commentaire.
Peut-être essayer d'utiliser un
ApplicationContext
au lieu d'unBeanFactory
?OriginalL'auteur cliff.meyers
Au lieu de
Resource res = File.....
utiliser le dessous
Vous obtiendrez le résultat.
Pour
Resource
il ne sera pas lu les Biens que nous avons spécifié dans le chemin d'accès.OriginalL'auteur Dhilip
Exactement comme de la falaise.meyers dit.
Voir comparaison de ApplicationContext vs BeanFactory
OriginalL'auteur toolkit