加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Maven项目中的每个模块都应该有自己的Spring应用程序上

发布时间:2020-12-15 00:55:37 所属栏目:Java 来源:网络整理
导读:我正在创建一个应用程序,我将项目分成不同的模块,如(域,存储库,服务和Web),以及许多用于邮件发送,文本格式化等的通用maven项目.我也使用 Spring. 目前我只在Web项目中使用Spring应用程序上下文文件.但是,由于我正在为文本格式化等创建一般的pupose项目,它将
我正在创建一个应用程序,我将项目分成不同的模块,如(域,存储库,服务和Web),以及许多用于邮件发送,文本格式化等的通用maven项目.我也使用 Spring.

目前我只在Web项目中使用Spring应用程序上下文文件.但是,由于我正在为文本格式化等创建一般的pupose项目,它将库(例如freemarker)封装到实际应用程序中,我不喜欢我必须在Web项目的Spring应用程序上下文文件中指定库依赖配置.

问题是,为每个模块分配一个单独的Spring应用程序上下文文件,然后在我使用它们的项目中导入上下文文件是否正确.这是正确的方法吗,还是有更好的方法?

我感兴趣的是当我使用XML文件而不是JavaConfig时如何解决这个问题.

解决方法

为所有模块创建applicationContext.xml配置并将其放在模块中,然后从Web模块导入所有模块的所有配置.

web.xml中

<!-- Context Configuration locations for Spring XML files -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        classpath:/applicationContext-resources.xml
        classpath:/applicationContext-dao.xml
        classpath:/applicationContext-service.xml
        classpath*:/applicationContext.xml
        /WEB-INF/applicationContext*.xml
        /WEB-INF/cxf-servlet.xml
        /WEB-INF/security.xml
    </param-value>
</context-param>

在此示例中,所有applicationContext.xml都是从模块导入的.

此示例代码是从AppFuse应用程序复制的,请查看此应用程序的配置方式.使用AppFuse构建示例多模块Spring应用程序:

mvn archetype:generate -B -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-modular-spring-archetype -DarchetypeVersion=3.0.0 -DgroupId=com.mycompany -DartifactId=myproject -DarchetypeRepository=http://oss.sonatype.org/content/repositories/appfuse

参考文献:

> Splitting applicationContext to multiple files
> Appfuse Quickstart

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读