You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java SE及Spring Boot学习中对Hibernate、JPA、MVC等技术用法的困惑咨询

问题解答

为什么第一门课程不采用更简便的开发方式

这类偏向手动配置的课程核心目标是打牢底层原理基础,而非直接教你快速做项目:

  • 你手动编写Servlet、Hibernate配置、Session工厂的过程,本质是在理解Java Web和ORM框架的核心运行逻辑:比如Servlet如何处理HTTP请求、ORM框架如何完成Java对象到数据库表的映射、数据库连接和事务如何管理。如果直接上手封装好的Spring Boot方案,遇到底层问题时会完全没有排查思路。
  • 很多存续多年的传统企业项目仍在使用SSH(Spring+Struts+Hibernate)/SSM(Spring+Spring MVC+MyBatis)架构,掌握手动配置能力是维护这类老项目的必备技能。
  • 手动实现全流程能帮你明确每个技术组件的边界和作用,后续用更高阶的封装工具时,你能清楚知道框架帮你省略了哪些步骤,不会变成只会调接口的"工具人"。

第二门课程中无需手动创建工厂和Session的核心原因

你感受到的简便性,是Spring Boot自动配置 + Spring Data JPA封装共同实现的,框架已经帮你完成了所有繁琐的基础配置:

  • 你通过Spring Initializr引入Spring Data JPA和对应数据库驱动依赖后,Spring Boot会根据classpath下的依赖自动触发配置逻辑:读取application.yml/application.properties里的数据库连接参数,自动创建DataSource数据源、Hibernate的EntityManagerFactory(也就是你之前手动写的Session工厂的上层封装)、事务管理器,不需要你手动编写任何XML配置文件。
  • 你继承的CrudRepository/JpaRepository接口,Spring会在运行时自动生成对应的实现类,内置了常用的增删改查方法,底层还是调用EntityManager(也就是封装后的Hibernate Session)完成操作,只是这些重复代码框架已经帮你实现了,不需要你手动编写。
  • 另外你不需要手动写Servlet,是因为Spring Boot内嵌了Tomcat服务器,已经自动完成了Spring MVC核心调度ServletDispatcherServlet的注册和映射,不需要你手动配置web.xml。

可参考的学习路径

你可以优先按这个方向找学习内容梳理脉络:

  • 先找讲解Java Web技术演进历史的内容,理清从原生Servlet→SSH/SSM→Spring Boot的迭代逻辑,每个阶段解决了什么痛点,新增了什么能力
  • 再针对性看Spring Boot自动配置原理、Spring Data JPA底层实现的原理向内容,搞清楚框架帮你做了哪些自动配置
  • 有基础之后可以尝试把同一个功能分别用手动配置SSH的方式和Spring Boot+Spring Data JPA的方式各实现一遍,对比两边的代码差异,就能快速理清每个组件的作用。

内容的提问来源于stack exchange,提问作者OldenErwanin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 02:27:00