转自:https://www.cnblogs.com/JamKong/p/4523321.html
在applicationContext.xml文件中,使用 ${xxx} 表示的是:调用某个变量,该变量的名称就是{xxx}里面的"xxx"。
例如:在applicationContext.xml文件中配置数据连接池
<!-- 配置数据链接池 -->
<property name="dataSource">
<bean class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="jdbcUrl" value="${jdbcUrl}"></property>
<property name="driverClass" value="${driverClass}"></property>
<property name="user" value="${user}"></property>
<property name="password" value="${password}"></property>
<!-- 其它配置 -->
<!-- 初始化时获取三个连接,取值应在minPoolSize与maxPoolSize之间。Default:3 -->
<property name="initialPoolSize" value="3"></property>
<!-- 连接池中保留的最小连接数。Default:3 -->
<property name="minPoolSize" value="3"></property>
<!-- 连接池中保留的最大连接数。Default:15 -->
<property name="maxPoolSize" value="15"></property>
<!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default:3 -->
<property name="acquireIncrement" value="3"></property>
<!--
控制数据源内加载preparedStatement数量.如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default:0
-->
<property name="maxStatements" value="8"></property>
<!--
maxStatementsPerConnection 定义了连接池内单个连接所拥有的最大缓存statements数。Default:0
-->
<property name="maxStatementsPerConnection" value="5"></property>
<!-- 最大空闲时间,1800秒内未使用则连接被丢弃。若为0则永不丢弃。Default:0 -->
<property name="maxIdleTime" value="1800"></property>
</bean>
</property>
代码中被标识的部分就是使用了${}的功能。它相当于Java中调用了变量名一样。
在本例子中,这些变量来自另外一个properties文件。该properties为: jdbc.properties(主要用来存放JDBC连接数据库的一些配置,方便下次修改,而不需要在applicationContext.xml文件中修改。)
jdbc.properties:
jdbcUrl=jdbc:mysql://localhost:3306/oa
driverClass=com.mysql.jdbc.Driver
user=root
password=
${jdbcUrl} 中的jdbcUrl 指的就是jdbc.properties中jdbcUrl。