首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在哪里放置Spring配置文件?

在哪里放置Spring配置文件?
EN

Software Engineering用户
提问于 2012-04-22 15:50:56
回答 2查看 67.9K关注 0票数 18

我希望将Spring框架集成到我的项目中,特别是在服务器端。

所以,我不想把它放在war文件的within文件夹中。

我是否应该在每个层中放置一个applicationContext.xml (意味着每个项目都被划分为不同的项目?(服务、域和DAO)

好的做法是什么?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2012-04-23 09:32:50

Maven文件结构可能对此

有所帮助

本质上,Spring配置文件(顺便说一句,它可以有任何名称,而不仅仅是泛型applicationContext.xml)被视为类路径资源,并在src/main/resources下归档。在构建过程中,这些文件随后被复制到WEB-INF/classes目录中,这是这些文件结束的正常位置。

变体包括一个额外的spring目录(例如,src/main/resources/spring),以将Spring上下文与专用于应用程序框架的其他资源分开。您可能希望将应用程序上下文划分为专用层,如:

代码语言:javascript
运行
复制
example-servlet.xml
example-data.xml
example-security.xml

诸若此类。

:开发/测试/生产这样的不同环境如何?

通常,Spring配置应该从其环境中获取环境配置。通常这意味着使用JNDI、JDBC、环境变量或外部属性文件来提供必要的配置。我按优先顺序列出这些文件,因为JNDI通常比受控生产集群中的外部属性文件更容易管理。

在集成测试的情况下,您可能需要使用“只测试”Spring配置文件。这将包含使用测试bean或配置的特殊上下文。它们将出现在src/test/resources中,并且可能有一个test-前缀,以确保开发人员知道他们的目的。一个典型的用途是在构建自动化测试期间提供一个非JNDI DataSource,可能是针对HSQLDB数据库的,并将在测试用例中引用。

但是,一般来说,大多数Spring上下文文件在层间移动时不需要进行专门的修改。在dev/test/production中使用相同的构建工件(例如WAR文件)的情况应该是不同的凭据。

票数 26
EN

Software Engineering用户

发布于 2016-04-12 16:29:24

您的项目是否在Maven模块中拆分?如果是这样的话,您可以为配置文件添加一个额外的模块。让我们称之为配置模块。

代码语言:javascript
运行
复制
config-module
      |
      |--> src\main\resources\config\spring\applicationContex.xml
      |--> src\main\resources\config\properties\application.properties
      |--> pom.xml

这样的配置是一种建议。设置自己的文件集包,就像JAR一样,并将该模块添加为任何其他模块(web、ear的lib、另一个jar)的依赖项。

您将可以访问配置模块资源(xml、属性等)。因为它们在类路径中。

web-模块的pom

代码语言:javascript
运行
复制
<dependency>
    <groupId>com.myproject.group</groupId>
    <artifactId>config-module</artifactId>
</dependency>

然后使用来自外部Spring上下文文件的导入语句。例如

代码语言:javascript
运行
复制
<import resource="classpath*:com/package/subpackage/**/config/applicationContext.xml" />
票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/145545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档