4

我有一个应用程序结构如下:应该在哪里放置配置?

  • 主要
  • 服务
  • utils的

我做了一个类,读取应用程序配置来自XML文件。问题在于它应该放在哪里?

通过反思,我已经将它放在实用程序中,但实用程序类具有静态方法并且是无状态的,而此类使用Apache Commons XMLConfiguration的实例。我是否应该适应这些方法,以便将此实例限制在此类中方法的范围内?

+0

您正在询问有关XML或类的位置加载和公开的XML? – cherouvim 2010-05-16 08:15:34

+0

Cherouvim,我想知道加载XML的类应该按照应用程序划分的方式进行。这是一个细节,但我想现在采用最佳做法,避免选择不良习惯。 – 2010-05-16 08:28:48

回答

3

我假设项目是包,所以我会去包。

  • 主要包含应用程序及其配置的读者
    • 配置
    • 日志
  • 服务
  • utils

为什么?应用程序的配置,无论是否使用XML,是否基于诸如Spring之类的应用程序框架,都是其主要功能的一部分。启动应用程序是应用程序的主要职责。所有的业务功能,它提供的所有闪亮功能都在域和服务层中实现。

你说得对,utils是关于静态或类似的工具。由于应用程序的配置非常重要,因此我不会将其声明为实用程序。一个实用程序可以很容易地被另一个相同类型的实用程序替换(例如StringUtilStringUtilsIOUtils等,它们都具有非常类似的功能)

1

我希望你看看春天。可能对你来说似乎有点过度,但你会喜欢它。

+0

Spring已经被用于注入Service和DAO类的实例。它如何用于配置? – 2010-05-16 08:15:18

+0

使用属性文件并包含它们。然后您可以将所有可用属性作为变量使用,然后可以将其用于注入Bean中。我之前并没有这样做,但几乎每个基于Spring的框架或应用都不喜欢这样做。 – Daniel 2010-05-17 05:16:07

2

这取决于您使用i.g.的构建系统和应用程序类型。行家建议放置configfiles在src/main/resources

在WAR文件,你可以将它们放置在WEB-INF或WEB-INF/config中

根据你的项目结构,我建议推出一个文件夹的配置或资源,因为几乎每个人都希望他们在那里。

2

如果您正在使用Spring,请查看Configuration Placeholders。你可以使用一个简单的java属性文件作为你的配置属性,并将其放置在你的类路径(或任何其他位置)上。 Alsou可以创建自己的实现以使用不同形式的保存配置值(XML,数据库等)

2

由于配置是一个交叉方面,它不会专门映射到这些层之一。将配置文件(XML或属性)放入类路径中,并通过Spring使用它来配置你的bean。

对于基于属性的配置数据,PropertyPlaceholderConfigurer是一个很好的解决方案。