您提到的教程涵盖了应用程序的所有层 - 数据访问、业务逻辑和 Web。对于只想了解 Spring MVC 的人,它解决了特定于应用程序 Web 层的问题,这可能比所需的信息更多。可能这就是为什么您觉得教程很复杂的原因。
为了回答您的问题,Spring 很容易学习,因为整个框架旨在与 POJO 一起使用,而不是依赖于特殊的接口、抽象类等。开发人员可以像普通的 Java 应用程序一样编写软件——接口、类和枚举,并使用 Spring 将组件连接起来,而无需特意去实现连接。您所引用的教程试图比经验丰富的程序员在实际应用程序中通常所做的更详细地解释事物,这可能是因为作者希望读者对 Spring 的工作原理有足够的了解,以便更好地理解概念。
在大多数应用程序中(无论它们的大小或性质如何),通常不需要扩展 Spring 类或实现专门的类。Spring 社区非常大,并且存在与 Spring 集成的更大的现成组件生态系统。因此,很少有人必须实现 Spring 组件来实现某些目标。例如,让我们以数据访问层为例。不同的团队喜欢使用不同的方法来访问数据库。有些喜欢原始 JDBC,有些喜欢第三方 ORM,例如 iBatis 或 Hibernate,而有些喜欢 JPA。Spring 发行版包含支持所有这些方法的类。同样,假设有人希望在他们的应用程序中加入声明式事务管理。再次,事务管理可以通过许多不同的方式来完成,并且有大量的事务管理产品可供人们使用。大多数这些产品都可以使用 Spring 集成,使团队可以简单地选择他们想要使用的产品并在他们的 Spring 应用程序中配置它。
最近的 Spring 版本大多取消了基于 XML 的大量配置文件,这些配置文件在 Java 代码之外确实使 Spring 应用程序难以理解。如今,许多事情都可以通过注释来完成。例如,
@Controller
public class AuthenticationController
{
...
}
表示 AuthenticationController 是一个 Web MVC 控制器类。甚至有一些方法可以避免使用 Controller 注释并遵循约定优于配置的方法来进一步简化编码。
在http://www.vaannila.com/spring/spring-mvc-tutorial-1.html上提供了一个很好且简单的 Spring MVC 教程。本教程使用基于 XML 的 Spring bean 配置而不是注解,但概念保持不变。