spring加载properties属性
- 2019 年 12 月 31 日
- 筆記
文章目录
1. spring有两种方式加载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-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("#{}")
直接取出其中的值