java-如何安排Spring上下文配置文件,使其与项目依赖项匹配?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-如何安排Spring上下文配置文件,使其与项目依赖项匹配?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1564字,纯文字阅读大概需要3分钟。
内容图文
![java-如何安排Spring上下文配置文件,使其与项目依赖项匹配?](/upload/InfoBanner/zyjiaocheng/655/9aaa0113b21f4a778811918ad92176bf.jpg)
我有一个依赖于其他两个模块的Web应用程序.
为了简单起见,我们将它们称为ServiceA模块和ServiceB模块.
这些模块中的每个模块都有各种不同的依赖关系,并且对Entities模块也有共同的依赖关系.
上面提到的每个模块都声明自己的spring上下文文件,其中包含与其范围有关的信息.
我现在正在尝试确定如何在项目之间“连接”这些配置文件,这让我有些困惑.
我知道一个选项只是在web应用程序的web.xml(在contextConfigLocation参数中)声明所有“结束”文件(即ServiceA,ServiceB和实体),但是我不喜欢该选项,特别是因为我的实际用例更加复杂,并且具有更多内部共享的依赖项.
我最初的意图是在contextConfigLocation参数中仅声明ServiceA和ServiceB的配置文件,因为这些是Web应用程序直接依赖的唯一项目(通过查看maven pom可以很容易地看到),然后ServiceA和ServiceB都将此指令包含在它们的Spring上下文配置文件< import resource =“ classpath:EntitiesContext.xml”>中.这种方法的优点是,它与Maven可传递方法一致,在该方法中,我声明了我所依赖的模块;如果该模块依赖于某些模块,它将与它一起拖动.这种方法的问题在于,我读到here,实体模块中的所有bean将被创建两次(尽管最后只保留一个实例),这是一个昂贵且不需要的操作.
我非常想听听人们如何解决这个用例,因为我认为我没有遇到过任何棘手的情况.
谢谢
更新资料
我最终使用的语法是classpath *:META-INF / * / * Context.xml,因为Thomasz建议的语法存在一些问题.
有关其他阅读,请参见spring的bug report(已部分解决了该问题)和有关该问题的blog post
解决方法:
遵循一些配置文件命名约定,然后简单地选择CLASSPATH上可用的所有内容,该怎么办?
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:*Context.xml
</param-value>
</context-param>
该解决方案假定所有必需的模块都在CLASSPATH上,而且不需要的模块也不在此.
内容总结
以上是互联网集市为您收集整理的java-如何安排Spring上下文配置文件,使其与项目依赖项匹配?全部内容,希望文章能够帮你解决java-如何安排Spring上下文配置文件,使其与项目依赖项匹配?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。