Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 配置应该放在哪里?_Java_Configuration_Domain Driven Design_Apache Commons_Three Tier - Fatal编程技术网

Java 配置应该放在哪里?

Java 配置应该放在哪里?,java,configuration,domain-driven-design,apache-commons,three-tier,Java,Configuration,Domain Driven Design,Apache Commons,Three Tier,我的应用程序结构如下: 刀 领域 主要 服务 乌提尔斯 我创建了一个从XML文件读取应用程序配置的类。问题是它应该放在哪里 根据反射,我会将它放在实用程序中,但实用程序类有静态方法,并且是无状态的,而这个类使用ApacheCommonsXMLConfiguration的实例。我是否应该调整这些方法,使这个实例仅限于此类中方法的作用域?我建议您看看Spring。一开始对你来说似乎有些过分,但你会喜欢的 这取决于您使用的构建系统和应用程序类型,例如maven建议将配置文件放在其中 在WAR文件中

我的应用程序结构如下:

  • 领域
  • 主要
  • 服务
  • 乌提尔斯
我创建了一个从XML文件读取应用程序配置的类。问题是它应该放在哪里


根据反射,我会将它放在实用程序中,但实用程序类有静态方法,并且是无状态的,而这个类使用ApacheCommonsXMLConfiguration的实例。我是否应该调整这些方法,使这个实例仅限于此类中方法的作用域?

我建议您看看Spring。一开始对你来说似乎有些过分,但你会喜欢的

这取决于您使用的构建系统和应用程序类型,例如maven建议将配置文件放在其中

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


根据您的项目结构,我建议引入文件夹配置或资源,因为几乎每个人都希望它们出现在那里。

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

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


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

我假设这些项是包,所以我选择使用main

  • 领域
  • main包含应用程序及其配置读取器
    • 配置
    • 日志
  • 服务
  • 乌提尔斯
为什么?应用程序的配置是其主要功能的一部分,不管它是否使用XML,也不管它是否基于Spring之类的应用程序框架。启动应用程序是应用程序的主要职责。它提供的所有业务功能和所有闪亮的特性都在域和服务层中实现


没错,utils是关于静态或类似工具的。由于应用程序的配置非常重要,我不会将其声明为实用程序。一个实用程序可以很容易地被同一类型的另一个实用程序所取代(例如,
StringUtil
vs.
StringUtils
vs.
IOUtils
等等。它们都有非常相似的功能)

Spring已经被用来注入服务和DAO类的实例。如何将其用于配置?使用属性文件并包含它们。然后,所有属性都可以作为变量使用,这些变量可以被注入bean中。我以前没有这样做过,但几乎每个基于Spring的框架或应用程序都不喜欢这样做。你问的是XML或加载和公开XML的类的位置吗?Cherouvim,我想知道加载XML的类应该按照应用程序的划分方式去哪里。这是一个细节,但我现在想采用最佳实践,避免养成坏习惯。