我想知道:是否可以在spring applicationContext.xml中为PropertyPlaceholderConfigurer设置相对于xml文件本身的属性文件的位置?
因此,当applicationContext.xml和dataSource.properties文件位于同一目录中时: 会不会像这样的工作,或者Spring不会找到该文件,因为我必须修改location-property值?
<bean id="dataSourceProperties"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="dataSource.properties" />
</bean>
提前谢谢!
答案 0 :(得分:1)
将dataSourceProperties.properties
文件放在resources
文件夹中,按如下方式修改dataSourceProperties
bean:
<bean id="dataSourceProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath*:dataSource.properties</value>
</list>
</property>
</bean>
并在类定义中获取属性,如下所示:
@WebService
@Component
public class MyService{
@Value("${databaseDriver}")
private String databaseDriver;
....
}
此外,获取完整的属性文件,如下所示:
@Component
public class MyService{
@Resource(name="dataSourceProperties")
private Properties dataSourceProperties;
....
}
<强> dataSource.properties:强>
databaseDriver=oracle.jdbc.driver.OracleDriver
答案 1 :(得分:-1)
不,这不起作用。
&#34;价值&#34;对于该位置,不会以applicationContext.xml的位置作为&#34; root-directory&#34;开头。它将使用spring应用程序启动的目录。
也许其他人也会有这个问题:P