Spring配置文件外部化配置及.properties的通用方法-创新互联
摘要:本文深入探讨了配置化文件(即.properties)的普遍应用方式。包括了Spring、一般的、远程的三种使用方案。关键词:.properties, Spring, Disconf, Java
若是有其他代码需要此Spring属性配置,将Spring配置中的属性值设置迁移到外部的属性文件中,是必需的操作,这也可以使Spring配置文件更易读。在这里我们不仅要讨论Spring的外部化配置,还要深入探讨配置化文件(即.properties)的普遍应用方式。这样就可以在不用重新打包和重新部署应用的情况下,配置这些属性值。从开发过程来看,将通用变量提出,并可配,也是写出高可读、低耦合代码的必然途径。从结果来看,这对于灵活性地进行测试、运维工作,是非常有好处的。在开发时,我们尽量把部署时需要修改的信息提出放在文件中,方便部署人员部署。一个大型系统中,多个项目有相同的配置信息,则部署人员部署时需要对多个不同的文件修改相同的信息,这不是好的代码结构,麻烦部署人员的同时,也增加了犯错的可能性。下面,就是针对以上问题的解决方案。 一、原先的Spring配置 下面是普通的Spring配置文件。可以看出,这里的value可以提出,以供其它代码重用。id="IndexHandler" name="IndexHandler" class="wang.anqi.util.IndexHandler">
name="solrUrl" value="http://192.8.125.30:8983/solr/core0"/>
二、经过改良后的配置 1、Spring配置
下面是引入了两个配置文件db.properties和solr.properties后的Spring配置文件。 class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> name="locations">
id="IndexHandler" name="IndexHandler" class="wang.anqi.util.IndexHandler">
name="solrUrl" value=${solr.url}/>
以下是配置文件db.properties
db.ip= 192.8.125.201
db.name= aitanjupt
db.url= jdbc:mysql://${db.ip}:3306/${db.name}
db.username= root
db.password= 1234 配置文件solr.properties solr.url= http://192.8.125.30:8983/solr/core0 2、使用@Value注解来获取配置 属性占位符配置的作用不限于XML中的Bean属性配置。还可以用它来配置@Value注解的属性。 public class IndexHandler
{
@Value("${solr.url}")
private String solrUrl;
} 然而这种方式使用起来并不十分方便。你需要先在类里面申明一个属性。 3、使用ResourceBundle来读取配置
网站栏目:Spring配置文件外部化配置及.properties的通用方法-创新互联
转载注明:http://myzitong.com/article/dcehgd.html
解决问题:如何正确使用.properties配置文件。
创新互联服务项目包括泗水网站建设、泗水网站制作、泗水网页制作以及泗水网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,泗水网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到泗水省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!若是有其他代码需要此Spring属性配置,将Spring配置中的属性值设置迁移到外部的属性文件中,是必需的操作,这也可以使Spring配置文件更易读。在这里我们不仅要讨论Spring的外部化配置,还要深入探讨配置化文件(即.properties)的普遍应用方式。这样就可以在不用重新打包和重新部署应用的情况下,配置这些属性值。从开发过程来看,将通用变量提出,并可配,也是写出高可读、低耦合代码的必然途径。从结果来看,这对于灵活性地进行测试、运维工作,是非常有好处的。在开发时,我们尽量把部署时需要修改的信息提出放在文件中,方便部署人员部署。一个大型系统中,多个项目有相同的配置信息,则部署人员部署时需要对多个不同的文件修改相同的信息,这不是好的代码结构,麻烦部署人员的同时,也增加了犯错的可能性。下面,就是针对以上问题的解决方案。 一、原先的Spring配置 下面是普通的Spring配置文件。可以看出,这里的value可以提出,以供其它代码重用。
<value>classpath:db.propertiesvalue>
<value>classpath:solr.propertiesvalue>
db.name= aitanjupt
db.url= jdbc:mysql://${db.ip}:3306/${db.name}
db.username= root
db.password= 1234 配置文件solr.properties solr.url= http://192.8.125.30:8983/solr/core0 2、使用@Value注解来获取配置 属性占位符配置的作用不限于XML中的Bean属性配置。还可以用它来配置@Value注解的属性。 public class IndexHandler
{
@Value("${solr.url}")
private String solrUrl;
} 然而这种方式使用起来并不十分方便。你需要先在类里面申明一个属性。 3、使用ResourceBundle来读取配置
privatestaticString myValue; static{ try{ ResourceBundle bundle=ResourceBundle .getBundle(PROPERTIES_FILE_NAME,Locale.ENGLISH);//PROPERTIES_FILE_NAME可以是solr.properties文件名的一部分:"solr"myValue = bundle.getString(MY_VALUE_KEY).trim();//MY_VALUE_KEY可以是solr.url} catch(Exception ex){ System.err.println("[Property]:Can't Load property.properties"); myValue="default value"; System.out.println("myValue will use the default value: "+ myValue); } }
这种方式使用起来比较方便。
王安琪,英文名Angel,南京邮电大学计算机应用技术硕士学位。 熟悉Java、C#编程语言。专注于WebService、海量数据处理、搜索引擎技术、消息中间件技术、分布式文件存储、.NET应用程序开发、系统架构设计。主要从事大数据管理系统的研发,项目经理,系统架构师,就职于江苏金陵科技集团有限公司。
Email:aitanjupt@hotmail.com
QQ:289770363
网站栏目:Spring配置文件外部化配置及.properties的通用方法-创新互联
转载注明:http://myzitong.com/article/dcehgd.html