分散配置:
首先编写一个服务类
package cn.csdn.service;
public class ConnServiceImpl {
private String driverClass;
private String url;
private String user;
private String password;
//set注入
public void setDriverClass(String driverClass) {
this.driverClass = driverClass;
}
public void setUrl(String url) {
this.url = url;
}
public void setUser(String user) {
this.user = user;
}
public void setPassword(String password) {
this.password = password;
}
}
一般属性文件的装载配置
<bean id="connServiceImpl" class="cn.csdn.service.ConnServiceImpl" scope="singleton">
<property name="driverClass"><value>com.mysql.jdbc.Driver</value></property>
<property name="url"><value>jdbc:mysql://localhost:3306/db</value></property>
<property name="user"><value>root</value></property>
<property name="password"><value>1234</value></property>
</bean>
在应用上下文中,使用PropertyPlaceholderConfigurer从外部属性文件装载配置信息:jdbc.Properties文件
jdbc\:driverClass=com.mysql.jdbc.Driver
jdbc\:url=jdbc\:mysql\://localhost\:3306/db
jdbc\:user=root
jdbc\:password=1234
1、 应用上下文中从单个外部属性文件装载配置信息
<!--引入一个外部文件-->
<bean id="propertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" scope="singleton">
<property name="location">
<value>cn/csdn/service/jdbc.properties</value>
</property>
</bean>
2、 应用上下文中多个外部属性文件装载配置信息
<!-- 引入多个外部文件 -->
<bean id="propertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" scope="singleton">
<property name="locations">
<list>
<value>cn/csdn/service/jdbc.properties</value>
</list>
</property>
</bean>
这样就可以用占位符变量代替Bean配置文件中硬编码配置了,占位符变量采用${variable}的形式,代码如下:
<bean id="connServiceImpl" class="cn.csdn.service.ConnServiceImpl"
scope="singleton">
<property name="driverClass">
<!-- 在使用外部文件的名称是方式${名称} -->
<value>${jdbc:driverClass}</value>
</property>
<property name="url">
<value>${jdbc:url}</value>
</property>
<property name="user">
<value>${jdbc:user}</value>
</property>
<property name="password">
<value>${jdbc:password}</value>
</property>
</bean>
2021

被折叠的 条评论
为什么被折叠?



