栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从数据库加载Spring PropertyPlaceholderConfigurer

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从数据库加载Spring PropertyPlaceholderConfigurer

Spring Context XML

<beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns:context="http://www.springframework.org/schema/context"    xsi:schemaLocation="http://www.springframework.org/schema/beans    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd     http://www.springframework.org/schema/context    http://www.springframework.org/schema/context/spring-context-3.0.xsd">    <bean        >        <property name="ignoreUnresolvablePlaceholders" value="true"/>        <property name="ignoreResourceNotFound" value="false"/>        <property name="order" value="1" />        <property name="locations"> <list>     <value>classpath:db.properties</value> </list>        </property>    </bean> <bean id="dataSourceimos"  destroy-method="close">        <property name="driverClass"><value>${imosdb.driver}</value></property>        <property name="jdbcUrl"><value>${imosdb.url}</value></property>        <property name="user"><value>${imosdb.username}</value></property>        <property name="password"><value>${imosdb.password}</value></property>        <property name="initialPoolSize"><value>${imosdb.initial_pool_size}</value></property>        <property name="maxPoolSize"><value>${imosdb.max_pool_size}</value></property>        <property name="minPoolSize"><value>${imosdb.min_pool_size}</value></property>        <property name="acquireIncrement" value="1"/>        <property name="acquireRetryAttempts" value="1"/>        <property name="idleConnectionTestPeriod" value="30"/>        <property name="preferredTestQuery" value="select 1 from dual"/>        <property name="checkoutTimeout" value="5000"/>        <property name="maxAdministrativeTaskTime" value="120"/>        <property name="numHelperThreads" value="10"/>    </bean>    <bean        >        <property name="ignoreUnresolvablePlaceholders" value="true"/>        <property name="ignoreResourceNotFound" value="true"/>        <property name="order" value="2" />        <property name="placeholderPrefix" value="${" />        <property name="placeholderSuffix" value="}" />        <property name="dataSourceName" value="dataSourceimos" />        <property name="locations"> <list>     <value>classpath:static.properties</value>     <value>file:static.properties</value> </list>        </property>    </bean>    <context:component-scan base-package="com.mkyong.rest" />    <bean id="transactionBo"  />    <bean id="cacheServiceInterface"  />    <bean id="iCacheService"  /></beans>

Java PlaceholderClass

import java.util.Properties;import javax.sql.DataSource;import org.springframework.beans.BeansException;import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;public class DbPropertySourcesPlaceholderConfigurer extends PropertyPlaceholderConfigurer {   private static final String DEFAULT_DATASOURCENAME = "dataSource";   private static final String DEFAULT_DBTABLENAME = "property";   private static final String DEFAULT_DBKEYCOLUMNNAME = "key";   private static final String DEFAULT_DBVALUECOLUMNNAME = "value";   String dataSourceName;   String dbTableName;   String dbKeyColumnName;   String dbValueColumnName;   @Override   public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException   {      DataSource dataSource = (DataSource) beanFactory.getBean(getDataSourceName());     // DbProperties dbProps = new DbProperties(dataSource);      final Properties dbProps = new Properties();      dbProps.put("app.version", "v3");      setProperties(dbProps);      super.postProcessBeanFactory(beanFactory);   }   public String getDataSourceName() {      return dataSourceName==null?DEFAULT_DATASOURCENAME:dataSourceName;   }   public void setDataSourceName(String dataSourceName) {      this.dataSourceName = dataSourceName;   }}

特别感谢以下页面的作者。

http://ykchee.blogspot.com.tr/2012/09/spring-31-loading-properties-for-
xml.html

http://blog.javaforge.net/post/31720600427/configuring-spring-based-web-
application-from-
database

http://www.javapregeeks.com/2012/11/spring-3-1-loading-properties-for-xml-
configuration-from-
database.html



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/494870.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号