2011-11-24 66 views
0

我有弹簧应用程序和使用属性文件想要读取PropertyPlaceholderConfigurer的值。这里的数据源是以Id的形式给出的。如何在使用JAVA代码的spring frarmework中获取数据源的值?

我想读取数据源属性jdbc.driverClassName的值使用java代码。

场景应该是:1st bean将被执行。它将加载jdbc.property文件中的数据。应该从java代码中读取数据源中的所有值。

如何从Java代码中读取PropertyPlaceholderConfigurer(datasource)的值?

下面给出的执行情况:

创建一个属性文件(database.properties),包括数据库的详细信息,把它放到你的项目类路径。

jdbc.driverClassName=com.mysql.jdbc.Driver 
jdbc.url=jdbc:mysql://localhost:3306/mkyongjava 
jdbc.username=root 
jdbc.password=password 

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

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="driverClassName" value="${jdbc.driverClassName}" /> 
    <property name="url" value="{jdbc.url}" /> 
    <property name="username" value="{jdbc.username}" /> 
    <property name="password" value="{jdbc.password}" /> 
</bean> 

使用的Java代码读取从给定的数据源中的数据,请帮助我吗? 或从哪里可以找出决议的任何有用的链接。

回答

2

有两个简单的选择:

  1. 获取对应用程序上下文的引用(如果你自己实例化它,如果你使用的发言权web.xml,你也许能够检索初始化它应该是了解快速它使用org.springframework.web.context.support.WebApplicationContextUtils)。然后使用BeanContext<T>.T getBean(String name, Class<T> requiredType)获取bean,使用DriverManagerDataSource的getter检索属性。

  2. 将相同的值注入到您自己的一个bean中;春天会把相同的价值给你

+0

嗨感谢您的快速回复。我理解你解释的方式,但你能否帮我使用JAVA源代码。在我的最后使用Java代码获得正确的结果将会很方便。我想执行java代码并基于它,想要在控制台上为(驱动程序,url,uname和password)写入值。 – Developer

相关问题