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