我有一些屬性文件,我想在Spring XML配置文件中提供。例如,在hello.xml
:如何在Spring beans XML文件中使用屬性文件?
<bean id="theFoo" class="learnspring.Foo">
<property name="color" value="${foo.color}"/>
</bean>
在Java代碼:
ApplicationContext ac = new ClassPathXmlApplicationContext("hello.xml");
File props = new File("path/to/hello.properties");
File moreProps = new File("path/to/more.properties");
// What to do here?
Foo foo = (Foo)ac.getBean("theFoo");
System.out.println(foo.getColor());
在hello.properties
:
foo.color = blue
如何讓我的屬性文件中提供了Spring對象定義?
更新
我移植一些舊的春天代碼。 (版本2.5),看起來有點像這樣:
XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource(xmlFile));
PropertyPlaceholderConfigurer ppc = new PropertyPlaceholderConfigurer();
cfg.setLocations(new Resource[] {
new ClassPathResource(propsResourcePath),
new FileSystemResource(propsFile)) });
cfg.postProcessBeanFactory(factory);
new GenericApplicationContext(factory);
這段代碼被標記爲過時,我有其他的問題,所以我想將它移植到了新的途徑。
也許'PropertyPlaceHolderConfigurer'? http://docs.spring.io/spring/docs/2.5.x/reference/beans.html#beans-factory-placeholderconfigurer –
這顯示瞭如何在XML文件中硬編碼屬性的路徑,但如果我在Java代碼中有一些'File'對象? –