-
使用
<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-placeholder location="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("#{}")
直接取出其中的值
原文
https://chenjiabing666.github.io/2018/08/04/spring加载properties属性/