1. 程式人生 > >spring原始碼學習之六 元素處理過程

spring原始碼學習之六 元素處理過程

概述:

</property-placeholder> 主要用來讀取配置資訊替換Bean中的${}佔位符,
常用配置如下:

<context:property-placeholder ignore-resource-not-found="true" location="classpath*:/application.properties" value-separator=":"/>

<bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
<property name="driverClass" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username:root}" /> <property name="password" value="${jdbc.password:123456}" /> </bean>

location屬性表明從哪裡載入配置檔案,value-separator用來分割佔位符內變數和預設值,當找不到某個變數時就用預設值替換,如上面dataSource Bean中的username屬性,當在配置檔案中沒有找到jdbc.username這個變數時就將root賦值給username屬性。
</property-placeholder>

元素位於名稱空間<context>下,是由org.springframework.context.config.PropertyPlaceholderBeanDefinitionParser解析

PropertyPlaceholderBeanDefinitionParser

類圖

這裡寫圖片描述