Article

Spring Boot 入门学习笔记

更新于:2024-11-15

前言

最近开始系统学习 Spring Boot 框架,这是一个非常强大的Java开发框架,能够极大地简化Spring应用的初始搭建和开发过程。本文记录我的学习过程和心得。

什么是 Spring Boot

Spring Boot 是基于 Spring 框架的快速开发脚手架,它的设计目的是简化新 Spring 应用的初始搭建以及开发过程。

主要特点

  • 约定优于配置:提供默认配置,减少手动配置工作
  • 独立运行:内嵌 Tomcat、Jetty 等容器,可以直接运行
  • 自动配置:根据项目依赖自动配置 Spring 功能
  • 生产就绪:提供监控、健康检查等生产级功能

创建第一个 Spring Boot 项目

1. 使用 Spring Initializr

访问 https://start.spring.io/ 可以快速生成项目骨架。

选择配置:

  • Project: Maven
  • Language: Java
  • Spring Boot: 3.x.x
  • Dependencies: Spring Web, Spring Data JPA, MySQL Driver

2. 项目结构

src/
├── main/
│   ├── java/
│   │   └── com.example.demo/
│   │       ├── DemoApplication.java
│   │       ├── controller/
│   │       ├── service/
│   │       └── repository/
│   └── resources/
│       ├── application.properties
│       └── static/
└── test/

核心注解学习

@SpringBootApplication

这是 Spring Boot 的核心注解,它整合了以下三个注解:

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

@RestController

用于创建 RESTful Web 服务:

@RestController
@RequestMapping("/api")
public class HelloController {
    
    @GetMapping("/hello")
    public String hello() {
        return "Hello, Spring Boot!";
    }
}

@Autowired

实现依赖注入:

@Service
public class UserService {
    
    @Autowired
    private UserRepository userRepository;
    
    public List<User> getAllUsers() {
        return userRepository.findAll();
    }
}

配置文件

application.propertiesapplication.yml 用于配置应用:

# 服务器配置
server.port=8080

# 数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=password

# JPA 配置
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

学习心得

  1. 先理解 Spring 基础:Spring Boot 是基于 Spring 的,理解 IoC 和 AOP 很重要
  2. 多写代码:理论结合实践,通过项目加深理解
  3. 看官方文档:Spring Boot 的官方文档写得很好,值得仔细阅读
  4. 学习源码:有时间可以看看 Spring Boot 的自动配置原理

下一步学习计划

  • 深入学习 Spring Data JPA
  • 掌握 Spring Security 安全框架
  • 学习 Spring Boot 与 Redis 集成
  • 了解微服务架构和 Spring Cloud

参考资料


以上就是我的 Spring Boot 入门学习笔记,后续会继续更新更多内容!