1. 程式人生 > >Spring中配置和讀取多個Properties檔案--轉

Spring中配置和讀取多個Properties檔案--轉



  1.     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">  
  2.     <!-- 將多個配置檔案位置放到列表中 -->  
  3.     <bean id="propertyResources" class="java.util.ArrayList">  
  4.         <constructor-arg>  
  5.             <list>  
  6.               <!-- 這裡支援多種定址方式:classpath和file -->  
  7.               <value>classpath:/opt/demo/config/demo-db.properties</value>  
  8.               <!-- 推薦使用file的方式引入,這樣可以將配置和程式碼分離 -->  
  9.               <value>file:/opt/demo/config/demo-mq.properties</value>  
  10.               <value>file:/opt/demo/config/demo-remote.properties</value>  
  11.             </list>  
  12.         </constructor-arg>  
  13.     </bean>  
  14.     <!-- 將配置檔案讀取到容器中,交給Spring管理 -->  
  15.     <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  16.         <property name="locations" ref="propertyResources" />  
  17.     </bean>  
  18.     <!-- 使用MQ中的配置 -->  
  19.     <bean id="MQJndiTemplate" class="org.springframework.jndi.JndiTemplate">  
  20.         <property name="environment">  
  21.             <props>  
  22.                 <prop key="java.naming.factory.initial">${mq.java.naming.factory.initial}</prop>  
  23.                 <prop key="java.naming.provider.url">${mq.java.naming.provider.url}</prop>  
  24.                 <prop key="java.naming.security.principal">${mq.java.naming.security.principal}</prop>  
  25.                 <prop key="java.naming.security.credentials">${mq.java.naming.security.credentials}</prop>  
  26.                 <prop key="userName">${mq.java.naming.security.principal}</prop>  
  27.                 <prop key="password">${mq.java.naming.security.credentials}</prop>  
  28.             </props>  
  29.         </property>  
  30.     </bean>  
  31. </beans>  

二、整合多工程下的多個分散的Properties

應用場景:工程組中有多個配置檔案,但是這些配置檔案在多個地方使用,所以需要分別載入。

配置如下:

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns:p="http://www.springframework.org/schema/p"  
  5.     xsi:schemaLocation="  
  6.     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">  
  7.     <!-- 將DB屬性配置檔案位置放到列表中 -->  
  8.     <bean id="dbResources" class="java.util.ArrayList">  
  9.         <constructor-arg>  
  10.         <list>  
  11.             <value>file:/opt/demo/config/demo-db.properties</value>  
  12.         </list>  
  13.         </constructor-arg>  
  14.     </bean>  
  15.     <!-- 將MQ屬性配置檔案位置放到列表中 -->  
  16.     <bean id="mqResources" class="java.util.ArrayList">  
  17.         <constructor-arg>  
  18.         <list>  
  19.             <value>file:/opt/demo/config/demo-mq.properties</value>  
  20.         </list>  
  21.         </constructor-arg>  
  22.     </bean>  
  23.     <!-- 用Spring載入和管理DB屬性配置檔案 -->  
  24.     <bean id="dbPropertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  25.         <property name="order" value="1" />  
  26.         <property name="ignoreUnresolvablePlaceholders" value="true" />   
  27.         <property name="locations" ref="dbResources" />  
  28.     </bean>  
  29.     <!-- 用Spring載入和管理MQ屬性配置檔案 -->  
  30.     <bean id="mqPropertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  31.         <property name="order" value="2" />  
  32.         <property name="ignoreUnresolvablePlaceholders" value="true" />   
  33.         <property name="locations" ref="mqResources" />  
  34.     </bean>  
  35.     <!-- 使用DB中的配置屬性 -->  
  36.     <bean id="rmsDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"   
  37.         p:driverClassName="${demo.db.driver}" p:url="${demo.db.url}" p:username="${demo.db.username}"   
  38.         p:password="${demo.db.password}" pp:maxActive="${demo.db.maxactive}"p:maxWait="${demo.db.maxwait}"   
  39.         p:poolPreparedStatements="true" p:defaultAutoCommit="false">  
  40.     </bean>  
  41.     <!-- 使用MQ中的配置 -->  
  42.     <bean id="MQJndiTemplate" class="org.springframework.jndi.JndiTemplate">  
  43.         <property name="environment">  
  44.             <props>  
  45.                 <prop key="java.naming.factory.initial">${mq.java.naming.factory.initial}</prop>  
  46.                 <prop key="java.naming.provider.url">${mq.java.naming.provider.url}</prop>  
  47.                 

    相關推薦

    Spring配置讀取Properties檔案--

        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">       &

    如何在spring配置集合供Bean使用

    一:Utility   Scheme 1.使用基本的集合標籤定義集合時,不能將集合作為獨立的Bean定義,導致其他Bean無法引用該集合,所以無法在不同Bean之間 共享集合。 2.可以使用Utility  Scheme裡的集合標籤定義獨立的集合Bean,需要的是在B

    如何配置並獲取properties檔案源資訊

    在搭配框架的時候,大多數時候都是需要配置多個properties檔案, 那麼這個時候,如何配置並獲取檔案裡的內容呢? 第一種方法:寫一個類,繼承PropertyPlaceholderConfigurer ,然後啟動的時候就載入:程式碼如下 package com.cmos

    讀取Properties檔案

    package net.hxtek.util; import java.io.IOException; /** * 讀取Properties檔案列舉類 * 2014-3-13 下午2:12:18 * */ public enum PropUtil { SMS("

    spring配置加載properties文件

    lac 存在 cnblogs org bsp 讀取 ace val cati (一)首先,我們要先在spring配置文件中。定義一個專門讀取properties文件的類.例: 1 <bean id="propertyConfigurer" class="org.sp

    spring載入.properties檔案的問題

    spring中 context:property-placeholder 匯入多個獨立的 .properties配置檔案? Spring容器採用反射掃描的發現機制,在探測到Spring容器中有一個 org.springframework.beans.factory.co

    Python一次讀取

    Python 2裡面讀取輸入的函式是raw_input(), Python 3的是input(),讀入一個值後回車讀取輸入就退出了,想要一次讀取多個輸入,可以像下面這樣: a, b = raw_inp

    怎麼在web.xml配置一個對應

       <filter>   <filter-name>loginFilter2</filter-name>   <filter-class>de.base.LoginFilter</filter-class>  

    spring引入properties檔案

    在開發中常常把配置資訊放在properties檔案中,然後spring的xml中引入。如果在多個spring的xml檔案中引入properties <context:property-placeholder ignore-unresolvable="tru

    android——CMakeList配置之編譯.cpp檔案

    上次提到AndroidStudio2.2進行NDK開發超方便的配置方式,不用進行Android.mk 配置,也不用進行Application.mk配置,只要配置CMakeList即可。那麼問題來了,通過該方式生成的配置檔案預設是隻native-lib.cpp一個cpp檔案的,那麼怎麼配置編譯多個.c

    tensorflow 批量讀取csv檔案

    tensorflow 批量讀取多個csv檔案 #!/usr/bin/python # -*- coding:utf-8 -*- import tensorflow as tf import os def csvfile(fileist): file_queue=tf.train.str

    Python同時讀取csv檔案,進行簡單的資料處理

    #匯入相應模組 import re import os import pandas as pd import numpy as np# 讀取 10個csv 檔案 path = 'E:/round1/' files = os.listdir(path) files_csv =

    CMakeList配置之編譯.cpp檔案

    上次提到AndroidStudio2.2進行NDK開發超方便的配置方式,不用進行Android.mk 配置,也不用進行Application.mk配置,只要配置CMakeList即可。那麼問題來了,通過該方式生成的配置檔案預設是隻native-lib.cpp一個cpp檔案的

    classpath:classpath*:的區別以及web.xml配置xml檔案

    首先我們都知道要使用spring,則需要在web.xml中增加如下程式碼:  Xml程式碼    <listener>  <listener-class>org.springframework.web.context.ContextLoaderList

    springmybatis配置資料來源讀取不到properties屬性檔案的問題

    <bean id="tomcatJdbcDataSourceFactory" class="com.qunar.db.resource.impl.TomcatJdbcDataSourceFactory"/>    <bean id="dataSource

    asp.net core1.x/asp.net core2.0如何加載配置文件

    加載 自己 團隊 多配置文件 做的 ted 文章 pos 簡單 寫這篇文章,來簡單的談一下,asp.net core中,如何加載多配置文件,如有錯誤請斧正。 在1.x的時候,我們是自己配置 WebHostBuilder而在2.0的時候,ef core團隊,將配置寫到了

    log4j.xml 配置輸出檔案

    現在的專案中,對於日誌的配置,我們有時候需要配置對應不同的輸出日誌檔案,例如按照模組劃分,按照功能劃分,分別輸出到不同的日誌檔案中,下面介紹一下,怎麼配置不同的輸出日誌檔案。 下面是一整塊的log4j.xml配置。如果對怎麼配置spring 和 log4j不瞭解的話,可以參

    SpringBean配置注入詳解

    1 bean與spring容器的關係 Bean配置資訊定義了Bean的實現及依賴關係,Spring容器根據各種形式的Bean配置資訊在容器內部建立Bean定義登錄檔,然後根據登錄檔載入、例項化Bean,並建立Bean和Bean的依賴關係,最後將這些準備就緒的Bean放到

    spring配置屬性檔案與@Value

    1,專案在spring裡配置多個屬性檔案: <bean id="propertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceho

    如何在IDEA一個Tomcat啟動專案Tomcat啟動專案

    一、瞭解archive war包和exploded war包的區別 我們在使用IDEA在Tomcat中部署專案時會出現兩個選擇,分別是archive war和exploded war,如下圖: 只是從字面上理解一個是歸檔的,一個是分解的,具體有什麼區別呢?我們分別來看一下部署的效果。