意義
進行軟編碼,對spring配置中需要經(jīng)常變動的屬性提取到外部屬性文件中,減少對配置文件的改動,方便環(huán)境部署。如數(shù)據(jù)庫連接的用戶名、密碼等。
項目目錄

fd4e58c609d95e18cafd3d2146aa545.png
jdbc.properties的內(nèi)容:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc\:mysql\://localhost\:3306/bnsg?characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&rewriteBatchedStatements=true
jdbc.password=Smartsecuri@6300
#jdbc.password=configAdmin
jdbc.username=root
內(nèi)容是連接數(shù)據(jù)庫信息。
在spring-platform-mybatis.xml中的配置
<!-- 加載數(shù)據(jù)庫屬性配置文件 -->
<context:property-placeholder
location="classpath:config/db/jdbc/jdbc.properties" />
<!-- 配置數(shù)據(jù)庫C3P0連接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="${jdbc.driverClassName}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="maxPoolSize" value="50"></property>
<property name="minPoolSize" value="1"></property>
<property name="initialPoolSize" value="1"></property>
<property name="maxIdleTime" value="20"></property>
</bean>
加載多個properties時:
<!-- 將多個配置文件讀取到容器中,交給Spring管理 -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<!-- 這里支持多種尋址方式:classpath和file -->
<value>classpath:/opt/demo/config/demo-db.properties</value>
<!-- 推薦使用file的方式引入,這樣可以將配置和代碼分離 -->
<value>file:/opt/demo/config/demo-mq.properties</value>
<value>file:/opt/demo/config/demo-remote.properties</value>
</list>
</property>
</bean>