【发布时间】:2014-02-08 20:15:49
【问题描述】:
我正在创建一个应用程序,我将项目分隔在不同的模块中,例如(域、存储库、服务和 Web)以及许多用于邮件发送、文本格式化等的通用 maven 项目。我也在使用 Spring。
目前我只有在 web 项目中有 Spring 应用程序上下文文件。但是,由于我正在创建用于文本格式等的通用项目项目,这些项目封装了来自实际应用程序的库(例如 freemarker),我不喜欢我必须在 Web 项目的 Spring 应用程序上下文文件中指定依赖库的配置。
问题是为每个模块拥有一个单独的 Spring 应用程序上下文文件,然后在我使用它们的项目中导入上下文文件是否正确。这是正确的方法吗,还是有更好的方法?
我对使用 XML 文件而不是 JavaConfig 时如何解决这个问题感兴趣。
【问题讨论】:
-
您应该使用JavaConfig 而不是有些过时的基于XML 的配置。对于真正的抽象,您需要查看一个 OSGI 类型布局,其中一个模块用于 API,它是编译时依赖项,一个模块用于运行时代码。您可以在代码模块中注释类,它们将被类路径扫描自动拾取。
-
我现在无法更改为 JavaConfig。使用 XML 时该怎么做?
-
您可以将基于 XML 的配置与注释一起使用。您定义要扫描 XML 中的注释的包,Spring 将自动获取注释。
-
@BoristheSpider 我正在使用
@Component、@Repository等注释,但有时我使用 XML 通过命名空间来激活 Spring MVC。我目前无法将该配置移至 JavaConfig。那么我应该如何组织这些 XML 文件呢?
标签: java spring maven jakarta-ee spring-mvc