2018-10-07
摘要:
spring有兩種方式載入properties中的屬性
第一種
使用<context:property-placeholder location="classpath:jdbc.properties"...
spring有兩種方式載入properties中的屬性
第一種
-
使用
<context:property-placeholder location="classpath:jdbc.properties" />
在spring的配置檔案中載入類路徑下的資原始檔 -
假設我們的
jdbc.properties
檔案中的內容如下: - 如果後面有重複的鍵值,將會覆蓋前面的值
url=jdbc:mysql://localhost:3306/face?useUnicode=true&characterEncoding=utf8 driver=com.mysql.jdbc.Driver user=root password=root initSize=2 maxSize=10
-
那麼我們在spring的配置檔案中配置資料來源就直接使用裡面的屬性即可,如下,
使用
${}
直接即可取出其中的屬性
<context:property-placeholderlocation="classpath:jdbc.properties" /> <!-- 資料來源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="url" value="#{url}" /> <property name="driverClassName" value="${driver}" /> <property name="username" value="${user}" /> <property name="password" value="${password}" /> <property name="initialSize" value="${initSize}" /> <property name="maxActive" value="${maxSize}" /> </bean>
-
我們也可以使用
@Value("${}")
來取出其中的值
第二種
-
使用
<util:properties id="dbConfig" location="classpath:db.properties" />
來載入檔案中的屬性值 -
假設
db.properties
檔案如下:
url=jdbc:mysql://localhost:3306/face?useUnicode=true&characterEncoding=utf8 driver=com.mysql.jdbc.Driver user=root password=root initSize=2 maxSize=10
- 配置的資料來源如下:
<!-- 資料來源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="url" value="#{dbConfig.url}" /> <property name="driverClassName" value="#{dbConfig.driver}" /> <property name="username" value="#{dbConfig.user}" /> <property name="password" value="#{dbConfig.password}" /> <property name="initialSize" value="#{dbConfig.initSize}" /> <property name="maxActive" value="#{dbConfig.maxSize}" /> </bean>
-
也可以使用
@Value("#{}")
直接取出其中的值