Jon*_*son 16 java spring properties
我还没有把头包裹在Spring周围,所以如果这个问题没有意义,请纠正我......
我有一个PropertyPlaceholderConfigurer
<bean id="rdbmPropertiesPlacholder" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" lazy-init="false">
<property name="location" value="classpath:/properties/rdbm.properties" />
</bean>
Run Code Online (Sandbox Code Playgroud)
我猜有一个豆子注射?
<bean id="PortalDb" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${hibernate.connection.driver_class}" />
<property name="url" value="${hibernate.connection.url}" />
<property name="username" value="${hibernate.connection.username}" />
<property name="password" value="${hibernate.connection.password}" />
...
Run Code Online (Sandbox Code Playgroud)
我想要的是第二个占位符指向具有用户名/密码的不同属性文件,以便我可以将属性拆分为两个不同的文件.然后数据库连接信息可以与db用户名/密码分开,我可以控制一个而不是另一个.
我基本上尝试使用不同的id和文件复制rdbmPropertiesPlaceholder并尝试访问属性,但它不起作用.
此代码来自uPortal开源Web门户项目.
kro*_*old 28
使用此表示法可以指定多个文件:
<bean id="rdbmPropertiesPlacholder" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" lazy-init="false">
<property name="locations">
<list>
<value>classpath:/properties/rdbm.properties</value>
<value>classpath:/properties/passwords.properties</value>
</list>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
propertyplaceholderconfigurerer只是合并了所有这些,看起来只有一个,所以你的bean定义不知道属性的来源.
Rol*_*olf 17
org.springframework.beans.factory.config.PropertyPlaceholderConfigurer可以执行此操作(已经回答过.您可能要做的是使用名称间距,以便您可以从两个文件中引用同名的属性而不会出现不公正.你的例子,你可以这样做:
<bean id="generalPropertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:/properties/general.properties"/>
</bean>
<bean id="db.PropertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:/properties/rdbm.properties" />
<property name="placeholderPrefix" value="$db{" />
<property name="placeholderSuffix" value="}" />
</bean>
Run Code Online (Sandbox Code Playgroud)
在上下文文件中,您现在可以使用$ {someproperty}引用常规属性,并使用$ db { someproperty }引用rdbm属性.
这将使您的上下文文件更清晰,更清晰.
| 归档时间: |
|
| 查看次数: |
39588 次 |
| 最近记录: |