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

如何在IntelliJ中为Spring Boot项目添加依赖库并实现分层架构

嘿,作为Spring Boot新手能想到搭建分层架构还拆分依赖库,这个思路真的很棒!我来一步步带你在IntelliJ里完成整个流程:

第一步:创建多模块项目(Maven为例)

咱们要把数据层、服务层做成独立的依赖库,再搭配Rest API主项目,所以用多模块结构最方便:

  • 打开IntelliJ,选「New Project」,选Maven,不要勾选「Create from archetype」,输入GroupId(比如com.example)、ArtifactId(比如spring-boot-layered-parent),点击Finish创建父项目。
  • 右键父项目 → 「New」→ 「Module」,分别创建3个子模块:
    • data-layer:数据层依赖库
    • service-layer:服务层依赖库
    • api-rest:Rest API主项目
第二步:配置各层职责与依赖

每个模块各司其职,咱们逐个配置:

数据层(data-layer)

这层专门负责和数据库交互,比如定义实体类、写数据访问接口:

  • 配置pom.xml,添加必要依赖:
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>
  • 代码结构建议:
    • com.example.data.entity:放数据库实体类(比如User.java,用@Entity和Lombok的@Data注解)
    • com.example.data.repository:放Spring Data JPA的Repository接口(比如UserRepository.java,继承JpaRepository)

服务层(service-layer)

这层是业务逻辑的核心,调用数据层完成业务处理:

  • 配置pom.xml,依赖数据层模块:
<dependencies>
    <dependency>
        <groupId>com.example</groupId>
        <artifactId>data-layer</artifactId>
        <version>${project.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
</dependencies>
  • 代码结构建议:
    • com.example.service:放服务接口(比如UserService.java,定义业务方法)
    • com.example.service.impl:放接口实现类(比如UserServiceImpl.java,注入UserRepository实现业务逻辑)

Rest API主项目(api-rest)

这层对外提供Rest接口,同时处理邮件这类应用服务,调用服务层完成业务:

  • 配置pom.xml,依赖服务层模块,加上Web和邮件相关依赖:
<dependencies>
    <dependency>
        <groupId>com.example</groupId>
        <artifactId>service-layer</artifactId>
        <version>${project.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>
  • 代码结构建议:
    • com.example.api.controller:放Rest控制器(比如UserController.java,注入UserService,写接口方法)
    • com.example.api.app:放应用服务类(比如EmailService.java,用Spring的邮件API处理发送逻辑)
    • 主启动类:com.example.api.Application.java,加上@SpringBootApplication(scanBasePackages = "com.example"),确保Spring能扫描到所有层的组件
第三步:IntelliJ里的关键操作与验证
  • 刷新依赖:点击右侧边栏的Maven按钮,选择「Reload All Maven Projects」,确保所有模块的依赖都能正确引入
  • 配置数据库:在api-rest的src/main/resources/application.properties里添加数据库连接信息:
spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name
spring.datasource.username=your_db_username
spring.datasource.password=your_db_password
spring.jpa.hibernate.ddl-auto=update
  • 启动测试:找到主启动类Application.java,右键「Run」,启动后用Postman或浏览器访问接口(比如http://localhost:8080/users),验证分层调用是否正常
额外小Tips
  • 记得在IntelliJ里安装Lombok插件(Settings → Plugins → 搜索Lombok),不然实体类的@Data等注解会报错
  • 各层的包名尽量统一前缀(比如com.example),这样Spring的组件扫描更省心
  • 如果用Gradle,步骤类似,只是把pom.xml换成build.gradle,依赖配置语法稍作调整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 09:22:48