如何获取hibernate上下文文件的位置特定数据

时间:2013-04-21 13:17:35

标签: java hibernate

如何在运行时获取hibernate上下文文件的位置特定数据,如用户名和属性文件加载。我在GWT框架中工作

我在applicationcontext.xml

中有这个
          <bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url"   value="jdbc:mysql://localhost:3306/dashboardsupervisor" />
    <property name="username" value="root" />
    <property name="password" value="1234" />
</bean>

它工作正常并与我的数据库连接,现在我的问题是这个密码&#34; 1234&#34;在某个文件&#34; monitor.properties&#34;并且这个文件的位置是UNKNOWN,我不知道文件的位置,因机器而异。

我知道如何在这里获取密码而不是&#34; 1234&#34;文件中的密码位于未知的位置..

谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用将返回DataSource对象的方法创建自定义Factory Bean。在Factory Bean方法中,您将完全控制DS对象的创建方式,因此,例如,您可以从Spring配置中获取除密码之外的所有属性,但密码将以不同的方式找到。

只要您可以保证monitor.properties文件位于类路径上,也可以采用更简单的方法。在这种情况下,您不需要设置确切的属性文件位置,但请使用

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="monitor.properties" />
</bean>

如果您的monitor.properties中有密码属性,则可以将其引用为$ {password}

(参阅完整示例:http://www.mkyong.com/spring/spring-propertyplaceholderconfigurer-example/