一个系统中通常会存在如下一些以属性形式存在的配置文件
1。数据库配置文件demo-db。属性:
database.url=jdbc: mysql://localhost/smaple database.driver=com.mysql.jdbc.Driver database.user=根 数据库。密码=123
2。消息服务配置文件demo-mq。属性:
# congfig ActiveMQ mq.java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory mq.java.naming.provider.url=故障转移:(tcp://localhost: 61616 & # 63; soTimeout=30000, connectionTimeout=30000) & # 63; jms.useAsyncSend=true&超时=30000 mq.java.naming.security.principal=mq.java.naming.security.credentials=jms.MailNotifyQueue。消费者=5
3。远程调用的配置文件demo-remote。属性:
remote.ip=localhost remote.port=16800 遥远。名=测试
应用场景:属性配置文件不止一个,需要在系统启动时同时加载多个属性文件。
配置方式:
& lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比; & lt;豆类xmlns=" http://www.springframework.org/schema/beans " xmlns: xsi=" http://www.w3.org/2001/XMLSchema-instance " xsi: schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd”比; & lt; !——将多个配置文件读取到容器中,交给弹簧管理——比; & lt; bean id=皃ropertyConfigurer”类=皁rg.springframework.beans.factory.config.PropertyPlaceholderConfigurer”比; & lt;属性名="位置"比; & lt; list> & lt; !——这里支持多种寻址方式:类路径和文件——比; & lt; value>类路径:/opt/演示/config/demo-db.properties & lt; !——推荐使用文件的方式引入,这样可以将配置和代码分离——比; & lt; value>文件:/opt/演示/config/demo-mq.properties & lt; value>文件:/opt/演示/config/demo-remote.properties & lt;/list> & lt;/property> & lt;/bean> & lt; !——使用MQ中的配置——比; & lt; bean id=癕QJndiTemplate”类=皁rg.springframework.jndi.JndiTemplate”比; & lt;属性名="环境"比; & lt; props> & lt;支撑关键=" java.naming.factory.initial "在$ {mq.java.naming.factory.initial} & lt;/prop> & lt;支撑关键=" java.naming.provider.url "在$ {mq.java.naming.provider.url} & lt;/prop> & lt;支撑关键=" java.naming.security.principal "在$ {mq.java.naming.security.principal} & lt;/prop> & lt;支撑关键=" java.naming.security.credentials "在$ {mq.java.naming.security.credentials} & lt;/prop> & lt;支撑关键="用户名"在$ {mq.java.naming.security.principal} & lt;/prop> & lt;支撑关键=懊苈搿痹? {mq.java.naming.security.credentials} & lt;/prop> & lt;/props> & lt;/property> & lt;/bean> & lt;/beans> >之前,我们也可以将配置中抽的列表取出来:
& lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比; & lt;豆类xmlns=" http://www.springframework.org/schema/beans " xmlns: xsi=" http://www.w3.org/2001/XMLSchema-instance " xsi: schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd”比; & lt; !——将多个配置文件位置放到列表中——比; & lt; bean id=皃ropertyResources”类=癹ava.util.ArrayList”比; & lt; constructor-arg> & lt; list> & lt; !——这里支持多种寻址方式:类路径和文件——比; & lt; value>类路径:/opt/演示/config/demo-db.properties & lt; !——推荐使用文件的方式引入,这样可以将配置和代码分离——比; & lt; value>文件:/opt/演示/config/demo-mq.properties & lt; value>文件:/opt/演示/config/demo-remote.properties & lt;/list> & lt;/constructor-arg> & lt;/bean> & lt; !——将配置文件读取到容器中,交给弹簧管理——比; & lt; bean id=皃ropertyConfigurer”类=皁rg.springframework.beans.factory.config.PropertyPlaceholderConfigurer”比; & lt;属性名="位置" ref=" propertyResources "/比; & lt;/bean> & lt; !——使用MQ中的配置——比; & lt; bean id=癕QJndiTemplate”类=皁rg.springframework.jndi.JndiTemplate”比; & lt;属性名="环境"比; & lt; props> & lt;支撑关键=" java.naming.factory.initial "在$ {mq.java.naming.factory.initial} & lt;/prop> & lt;支撑关键=" java.naming.provider.url "在$ {mq.java.naming.provider.url} & lt;/prop> & lt;支撑关键=" java.naming.security.principal "在$ {mq.java.naming.security.principal} & lt;/prop> & lt;支撑关键=" java.naming.security.credentials "在$ {mq.java.naming.security.credentials} & lt;/prop> & lt;支撑关键="用户名"在$ {mq.java.naming.security.principal} & lt;/prop> & lt;支撑关键=懊苈搿痹? {mq.java.naming.security.credentials} & lt;/prop> & lt;/props> & lt;/property> & lt;/bean> & lt;/beans>春天中配置和读取多个属性文件的方式方法