3

我正在尝试构建这样的项目结构:

Project
|--Web_module.war
    |--Data_module.jar(Spring)
    |--Util_module.jar
    |--other public api...

这意味着,不同的模块应该打包到不同的 jar 中,所以我必须为不同的模块(例如数据模块和 web 模块)有更多的 spring 配置(application-context.xml)。

我的问题是,如何组织所有配置文件以将它们正确包含在 Web 模块中。

提前致谢。

4

2 回答 2

4

计划为您预期的每个 jar 文件创建一个 eclipse 项目。

根据您的项目功能选择 jars 文件/eclipse 项目,使其尽可能模块化和自包含。

在每个eclipse项目中使用junit测试来彻底测试单个项目/模块,使用spring单元测试支持

每个 Eclipse 项目都将包含自己的 spring 配置上下文文件,例如 Util_module 项目可能包含 util-context.xml

最后有一个 Eclipse 动态 Web 项目作为包装 Web 应用程序,它将聚合所有“模块”项目

Eclipse Web 项目中应包含 HTML、JS、JSP 等 UI 工件以及使用 Web 应用程序上下文(如控制器、servlet 过滤器等)的 Java 代码

在 Eclipse Web 项目的 java 构建路径中,但模块“项目”为“必需”项目

在 Eclipse Web 项目的部署程序集中,添加模块“项目”作为依赖项。

现在,当您构建和部署 Web 应用程序时,所有依赖的模块项目也将编译和部署,但更重要的是,所有项目功能将被划分为单独的模块化项目

小心设置项目之间的依赖关系,以免引入循环依赖关系

当需要维护干净和相关的模块时,不要害怕重构项目结构

于 2012-10-22T11:19:28.940 回答
0

为了让您的模块发布它们自己的配置(以及您的主应用程序以自动检测它们),您可以在您的主 applicationContext.xml 中,使用带有通配符的模式从类路径中导入其他 context.xml 文件:

<import resource="classpath*:conf/moduleContext.xml" />

这告诉 spring 在所有匹配 conf/moduleContext.xml 的 jar 中查找和读取文件。请注意,对此有一点限制:您必须将上下文文件放在至少一个目录中(而不是在类路径的根目录中)。这就是为什么在我的示例中您有 de“conf”目录。

于 2015-03-13T13:20:31.817 回答