spring加载properties属性

  • 2019 年 12 月 31 日
  • 筆記

文章目录

1. spring有两种方式加载properties中的属性

1.1. 第一种

1.2. 第二种

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("#{}")直接取出其中的值