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

从Grails转Spring Boot:搭建ORM+Web+领域对象应用需哪些依赖?

Spring Boot 组件与依赖澄清

你的认知确实存在偏差——Spring Boot 并非自带所有开发所需组件,它的核心是通过「Starter 依赖」简化组件集成与配置,基础的 Spring Boot 核心包仅提供最底层的启动、自动配置框架,像 JDBC、JPA、Web 服务这类功能都需要通过引入对应 Starter 来获取。

一、Spring Boot 核心自带的组件

基础的 spring-boot-starter(或 spring-boot 核心包)默认包含以下内容:

  • Spring Core 核心功能:IoC 容器、依赖注入、Bean 生命周期管理
  • Spring Boot 自动配置框架:处理配置文件加载、条件化配置逻辑、环境变量解析
  • 基础工具集:SLF4J+Logback 日志框架、配置文件(application.properties/yaml)解析、异常处理基础组件

这些是所有 Spring Boot 应用的基础,但不足以支撑你的业务开发需求。

二、满足你需求的必需依赖

针对你需要「自动建表/关系映射、无手写 SQL 查询、Web 服务」的需求,只需引入以下 3 类依赖即可快速编码:

1. Web 服务依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

这个 Starter 会自动集成 Spring MVC、Tomcat 嵌入式容器、Jackson JSON 解析器,对应 Grails 中的 Web 层功能,你可以直接编写控制器(Controller)对外提供接口。

2. JPA/ORM 依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

这是核心依赖,它已经打包了:

  • Hibernate(JPA 的默认实现):负责领域对象到数据库表的映射、自动建表/索引、关系维护(只需在配置文件中设置 spring.jpa.hibernate.ddl-auto=update 或 create 即可开启自动建表)
  • Spring Data JPA:提供 Repository 接口,只需定义继承 JpaRepository 的接口,就能实现 CRUD、分页、条件查询等功能,完全无需手写 SQL
  • Spring JDBC 核心:处理数据库连接、事务管理等底层逻辑

3. 数据库驱动

根据你使用的数据库选择对应的驱动,比如 MySQL:

<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <scope>runtime</scope>
</dependency>

PostgreSQL 则替换为 postgresql 依赖,Spring Boot 不会默认自带具体数据库驱动,需要手动引入。

三、和 Grails 的差异

Grails 是高度「约定式」的全栈框架,默认帮你集成了 Web、ORM、数据源等所有必备组件;而 Spring Boot 更偏向「灵活选型」,通过 Starter 让你按需引入组件,避免冗余依赖,但核心依赖加起来仅 3 个左右,同样能实现像 Grails 那样的快速编码体验——只需编写领域对象、Repository、Controller,框架会自动完成配置与初始化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 15:17:03