如何在运行时获取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;文件中的密码位于未知的位置..
谢谢
答案 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/)