例如
<bean id="dataSource" class="....." p:username="aa" p:password="11" >
以外部文件配置化的方式,配置属性。
在db.properties
jdbc.username=aa
jdbc.password=22
所以以上的bean可以写成
<bean id="dataSource" class="....." p:username="${jdbc.username}" p:password="${jdbc.password}" >
1.占位符变量替换
在spring中通过 配置占位符变量
<!-- ignore 指定找不到文件 location指向的标签 不抛异常-->
<!-- properties-ref 指向默认的属性 -->
<context:property-placeholder
location="file://myconfig.properties"
ignore-resource-not-found="true"
ignore-unresolvable="true"
properties-ref="defaultConfiguration"
system-properties-mode="OVERRIDE"
/> <!--配置默认输入的属性-->
<util:properties id="defaultConfiguration"
<prop key="jdbc.url"> jdbc:mysql:......</prop>
<prop key="jdbc.username">aa</prop>
<prop key="jdbc.password">11</prop>
>
其中 属性 system-properties-mode=""
FALLBACK :如果不能从属性文件中解析占位符变量,使用系统属性
NEVER: 不使用系统属性来解析占位符变量
OVERRIDE:相对配置文件优先使用系统 属性
2.重写属性
例如硬编码如下
<bean id="dataSource" class="....." p:username="aa" p:password="11" >
通过在spring中配置
<!-- 以下会把硬编码的内容重写 -->
<component:property-override
location="classpath:/db.properties" />