我希望将Spring框架集成到我的项目中,特别是在服务器端。
所以,我不想把它放在war文件的within文件夹中。
我是否应该在每个层中放置一个applicationContext.xml (意味着每个项目都被划分为不同的项目?(服务、域和DAO)
好的做法是什么?
发布于 2012-04-23 09:32:50
有所帮助
本质上,Spring配置文件(顺便说一句,它可以有任何名称,而不仅仅是泛型applicationContext.xml)被视为类路径资源,并在src/main/resources下归档。在构建过程中,这些文件随后被复制到WEB-INF/classes目录中,这是这些文件结束的正常位置。
变体包括一个额外的spring目录(例如,src/main/resources/spring),以将Spring上下文与专用于应用程序框架的其他资源分开。您可能希望将应用程序上下文划分为专用层,如:
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文件)的情况应该是不同的凭据。
发布于 2016-04-12 16:29:24
您的项目是否在Maven模块中拆分?如果是这样的话,您可以为配置文件添加一个额外的模块。让我们称之为配置模块。
config-module
|
|--> src\main\resources\config\spring\applicationContex.xml
|--> src\main\resources\config\properties\application.properties
|--> pom.xml这样的配置是一种建议。设置自己的文件集包,就像JAR一样,并将该模块添加为任何其他模块(web、ear的lib、另一个jar)的依赖项。
您将可以访问配置模块资源(xml、属性等)。因为它们在类路径中。
<dependency>
<groupId>com.myproject.group</groupId>
<artifactId>config-module</artifactId>
</dependency>然后使用来自外部Spring上下文文件的导入语句。例如
<import resource="classpath*:com/package/subpackage/**/config/applicationContext.xml" />https://softwareengineering.stackexchange.com/questions/145545
复制相似问题