转载

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-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属性/
正文到此结束
Loading...