通过引用配置文件可以提高数据安全性,尤其是在连接数据库的时候,依赖于名称空间context:
加载外部配置文件的固定写法使用context:property-placeholde标签
<context:property-placeholder location="classpath:dbconfig.properties"/>
通过连接池连接数据库
先创建好一个外部配置文件dbconfig.properties
jdbc.username=root
jdbc.password=123456
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/test
jdbc.driverClass=com.mysql.jdbc.Driver注意:编译环境、
在Spring的配置中回去该文件
<!-- 连接外部配置文件 -->
<context:property-placeholder location="classpath:dbconfig.properties"/>
<!-- 从外部文件中获取变量的值 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="user" value="${jdbc.username}"></property>
<!-- ${key}动态取出配置文件中某个key对应的值书写时不要添加多余的字符尤其是空格 -->
<property name="password" value="${jdbc.password}"></property>
<property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
<property name="driverClass" value="${jdbc.driverClass}"></property>
</bean>
注意:编译环境、数据库版本,JDBC驱动jar包是否匹配
MYSQL8.0以上版本配置驱动是
com.mysql.cj.jdbc.Driver
MYSQL8.0以下版本配置驱动是
com.mysql.jdbc.Driver
SqEl测试
SqEl(Spring Expressio Langguage)Spring表达语言
用这个 #{}表示
可以应用其他bean和其他bean中某个属性,运算符
<!-- 字面量运算返回运算结果: #{} -->
<property name="salary" value="#{12345.67*12}"></property>
<!-- 引用其他bean、 -->
<property name="car" value="#{car}"></property>
<!-- 引用其他bean的某个属性值、 -->
<property name="lastName" value="#{book01.bookName}"></property>