util:properties和context:property-placeholder標籤均可以用來獲取外部配置文件中的內容
一、util:properties
它是以聲明bean方式來使用,建立了一個bean,下面使用的時候經過SpEL表達式#{}獲取bean的屬性。spring
<util:properties id="config" location="classpath:db.properties" /> <!-- 配置鏈接池 --> <bean id="ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="#{config.driver}" /> <property name="url" value="#{config.url}" /> <property name="username" value="#{config.username}" /> <property name="password" value="#{config.password}" /> </bean>
須要注意,這種方式須要在spring配置文件頭部聲明apache
xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
二、context:property-placeholder
它是將配置文件加載至spring上下文中,而後經過${}取得值,經常使用於bean的屬性上ui
<context:property-placeholder location="classpath:general.properties"/> <!-- 配置Druid鏈接池 --> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <!-- 基本屬性 driverClassName、url、user、password --> <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>