- 我有一个
Oracle11 DataBase
有两列的表(KEY(varchar2)
,PROPERTY(varchar2)
)的表。 - 通过使用 Spring 框架,我想将表中的全部内容(所有行)加载到 Spring Bean 中,而不是从DataBase中获取值我就可以使用 Bean
- 我使用了 Bean 类“
org.apache.commons.configuration.DatabaseConfiguration
”。它工作正常,但是这个 bean 类没有将整个表格内容加载到其中的规定。
PFB,我的 Spring-config.xml:
<bean name="propertyPlaceholderConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="properties" ref="commonsConfigurationFactoryBean"/>
</bean>
<bean name="commonsConfigurationFactoryBean"
class="org.springmodules.commons.configuration.CommonsConfigurationFactoryBean">
<constructor-arg ref="databaseConfiguration"/>
</bean>
<bean name="databaseConfiguration"
class="org.apache.commons.configuration.DatabaseConfiguration">
<constructor-arg type="javax.sql.DataSource" ref="dataSource"/>
<constructor-arg type="java.lang.String" index="1" value="schema.Table_Name1"/>
<constructor-arg type="java.lang.String" index="2" value="KEY"/>
<constructor-arg type="java.lang.String" index="3" value="PROPERTY"/>
</bean>
<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:SYSTEM_NS:PORT:sid"/>
<property name="username" value="xxxx"/>
<property name="password" value="xxxx"/>
</bean>
Java 代码:
ApplicationContext classpathCtx = new ClassPathXmlApplicationContext("Spring-config.xml");
DatabaseConfiguration dBConfig = (DatabaseConfiguration)classpathCtx.getBean("databaseConfiguration");
// To display the value in the property column by sending the value of column KEY
System.out.println(dBConfig.getProperty("Value in the KEY column"));
上面的代码工作正常。但是每次我向DatabaseConfiguration
它发送密钥时,都会在内部进行数据库调用以获取我不希望发生的属性。
整个上述概念都是关于尝试将 .properties 中存在的所有数据存储到 DB 并将其从 DB 获取到我的 Java 代码。