2012-03-12 74 views
3

有一个人扔在什么是常见的配置(阿帕奇常见的配置)一些轻? 将他有益的,如果有一个人可以用一些用例解释。什么是Apache的常见配置

此外,我可以从中获得一些有用信息的任何链接(除谷歌以外)都非常感谢。

回答

8

Apache Commons Configuration以图书馆为您处理配置文件的能力而闻名,即解析文件.properties

例如:

color=Green 
person=John 

此属性文件可能驻留在类路径或硬目录。使用Apache下议院配置,您可以在解析解析容易,并获得其关键所代表的价值。

看到这个快速tutorial

编辑

但为什么配置或Apache共享配置?

有时,您不希望将特定值硬编码到要编译的代码中。例如,你可能有变量BACKGROUND_COLOR一个应用程序,这个变量的值控制应用程序的背景颜色。你将如何将它存储在你的应用程序中?

你可以这样做:

public static final String BACKGROUND_COLOR = "Green"; 

但是,如果你想改变的背景为“红”的颜色,那么你就必须改变上面的代码,它编译成:

public static final String BACKGROUND_COLOR = "Red"; 

如果您不想更改代码,请重新编译以更改应用程序的背景?是的,你可以将此值存储到名为system.properties一个文本文件,或任何名称和扩展实际。

例如,您可以将其存储在system.properties:

background_color=Green 

但是,你怎么看这个文本文件? (这是保存在属性文件格式,key=value)你想进入低级别文件和IO以读取这些价值?你可能没有机会,你会想要一个成熟和成熟的图书馆为你这样做。

为此,您可以使用Apache Commons配置。该库已准备好读取诸如属性文件之类的配置。

使用Apache Commons Configurations,这里是读取上述属性文件并提取密钥background_color的值的代码。

public static void main(String [] args){ 
    Configuration config = new PropertiesConfiguration("system.properties"); 
    String backColor = config.getString("background_color"); 
    System.out.println(backColor); // this will give you green 
} 

希望这有助于您的理解。:)

+0

我在这方面是新的。你能解释一下什么是配置,我们如何使用它? – 2012-03-12 05:39:29

+0

嗨Rohit,我已经更新了这个例子。请让我知道这是否有助于您的理解。 – 2012-03-12 06:27:27

+0

我收到提示“无法解析符号PropertiesConfiguration”,如何解决呢? – vikramvi 2018-03-05 11:44:46

0

Apache Commons Configuration是一个简化管理应用程序配置属性的java库。它允许您从不同的配置源收集属性,如属性文件,XML文件,Java系统属性,Environemnt变量等。它还允许您通过配置源的设置优先链覆盖属性。请参阅this article