我正在开发基于 Spring 的 Web 应用程序,使用 Spring Framework + Spring Security + Hibernate 进行数据访问 (ORM) + Maven 作为构建管理器。所有数据访问操作都必须由Hibernate提供。
我的目标是将 Spring Security、Spring Framework 和 Hibernate 集成在一起工作。我阅读了许多相应的教程,但令我困惑的是(在教程代码中)我的项目中缺少许多 xml 配置文件。 Here is the structure of my project
正如您所看到的,只有两个 Spring 相关的 xml 文件和 web.xml - 当我向项目中添加 Spring Framework 和 Spring Security 支持时,它们都是由 Spring 自动生成的。
但是在提到的教程中还有名为“spring-database.xml”、“spring-security.xml”的文件。我认为第一个是配置 Spring 从数据库获取数据,第二个只是基本的 Spring Security 配置。文件。
问题:
1)这两个文件没有自动生成,甚至“spring-security.xml”也是如此。可以吗?一定是这样吗?或者我的项目设置有问题?
2) 如果我可以按照自己的意愿命名这些 xml 配置文件 - 那么 Spring 如何了解它们并区分它们?我只是在官方 Spring 引用文档中没有找到任何有关具有此类名称的配置文件的信息。
回答问题2,如果可能的话请举一些例子。
3) 我的 applicationContext 文件是空的 - 可以吗?如果它和dispatcher-servlet有什么区别呢?
提前谢谢您!
最佳答案
1) 我一般只需要一个 spring 配置文件,通常放在 src/main/resources
中(或类路径上的其他位置)并在调用 applicationContext.xml
之后或类似的。如果您使用多个 Spring 模块(例如 Spring Data、Spring Security 等),通常的做法是为每个模块创建一个单独的配置文件,但这不是必需的,您可以将所有配置放在同一个 xml 中。
2) 命名并不重要,Spring 在类路径中查找文件:https://softwareengineering.stackexchange.com/questions/145545/where-to-put-spring-configuration-file
3) 通常,applicationContext.xml 包含要扫描注释的 bean 和包的定义,并且应放置在 src/main/resources
中。 。我猜dispatcher-servlet.xml用于URI/servlet映射(spring mvc)
关于java - 不同的spring配置文件角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35960110/