Spring Boot 是为了简化 Spring 应用的创建、开发和部署而诞生的框架,它能让开发者快速搭建独立的、生产级别的 Spring 应用。从零开始学习 Spring Boot 开发,可按以下步骤进行。
环境搭建
学习 Spring Boot 开发,首先要搭建好相应的开发环境。你需要安装 Java、Maven 或 Gradle 以及一个趁手的开发工具,比如 IntelliJ IDEA 或者 Eclipse。
Java 是 Spring Boot 运行的基础,建议安装 Java 8 及以上版本。以 Windows 系统为例,从 Oracle 官方网站或者 OpenJDK 下载 Java 安装包,安装完成后配置好系统的环境变量 JAVA_HOME、PATH,在命令行输入“java -version”,若能正确显示版本信息,说明 Java 安装成功。
Maven 或 Gradle 是项目构建工具,用于管理项目的依赖和构建过程。这里以 Maven 为例,从 Apache Maven 官网下载二进制包,解压后配置好环境变量 MAVEN_HOME 和 PATH,在命令行输入“mvn -v”,显示版本信息即安装成功。
IntelliJ IDEA 是一款功能强大的 Java 开发工具,Community 版本免费可用。下载安装后,打开 IDEA,在“File” - “New” - “Project”中选择“Spring Initializr”来创建 Spring Boot 项目。在创建过程中,可以选择项目的依赖,如 Web、MyBatis、Thymeleaf 等。
Spring Boot 基础概念
Spring Boot 有几个重要的基础概念需要理解。自动配置是 Spring Boot 的核心特性之一,它能根据项目中添加的依赖自动配置 Spring 应用。比如,当你在项目中添加了 Spring Boot Starter Web 依赖,Spring Boot 会自动配置嵌入式的 Tomcat 服务器,让你可以快速开发 Web 应用。
起步依赖是 Spring Boot 提供的一种方便的依赖管理方式。每个起步依赖都是一组相关的依赖集合,例如“spring-boot-starter-web”包含了开发 Web 应用所需的所有依赖,你只需在 pom.xml 中添加这一个依赖,就无需手动添加 Servlet、Spring MVC 等相关依赖。示例如下:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>Spring Boot 应用的主类是项目的入口点,通常使用 @SpringBootApplication 注解标注。这个注解是 @Configuration、@EnableAutoConfiguration 和 @ComponentScan 三个注解的组合,它会自动扫描包下的组件,并开启自动配置。示例代码如下:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MySpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(MySpringBootApplication.class, args);
}
}开发第一个 Spring Boot Web 应用
创建好 Spring Boot 项目后,我们来开发一个简单的 Web 应用。首先,在项目的 src/main/java 目录下创建一个控制器类,用于处理 HTTP 请求。示例代码如下:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello, Spring Boot!";
}
}在上述代码中,@RestController 注解表示这是一个 RESTful 风格的控制器,@GetMapping("/hello") 表示处理 HTTP GET 请求,当访问“/hello”路径时,会调用 hello 方法并返回“Hello, Spring Boot!” 字符串。
启动 Spring Boot 应用,在 IDEA 中运行主类的 main 方法。应用启动后,打开浏览器,访问“http://localhost:8080/hello”,如果看到页面显示“Hello, Spring Boot!”,说明第一个 Spring Boot Web 应用开发成功。
数据库访问
在实际开发中,往往需要与数据库进行交互。Spring Boot 对多种数据库都提供了良好的支持,这里以 MySQL 数据库为例,结合 MyBatis 框架进行数据库访问开发。
首先,在 pom.xml 中添加相关依赖:
<dependencies>
<!-- MyBatis Starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.3.1</version>
</dependency>
<!-- MySQL Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>然后,在 application.properties 中配置数据库连接信息:
spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver接着,创建实体类和 Mapper 接口。例如,创建一个 User 实体类:
public class User {
private Long id;
private String name;
private Integer age;
// Getters and Setters
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}创建 UserMapper 接口:
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface UserMapper {
@Select("SELECT * FROM users")
List<User> findAll();
}最后,在控制器中调用 Mapper 接口进行数据查询:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/users")
public List<User> getUsers() {
return userMapper.findAll();
}
}启动应用后,访问“http://localhost:8080/users”,就可以获取数据库中 users 表的所有记录。
部署与监控
开发完成后,需要将 Spring Boot 应用部署到生产环境。Spring Boot 应用可以打包成可执行的 JAR 文件,使用“mvn clean package”命令进行打包。在 target 目录下会生成一个以.jar 结尾的文件,通过“java -jar your-application.jar”命令即可启动应用。
对于应用的监控,可以使用 Spring Boot Actuator 组件。在 pom.xml 中添加依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>添加依赖后,访问“http://localhost:8080/actuator”,可以看到应用的健康状态、配置信息等。还可以通过配置,将监控数据集成到 Prometheus 和 Grafana 等监控系统中,实现更全面的应用监控。
通过以上步骤,你可以从零开始学习 Spring Boot 开发,掌握 Spring Boot 的基本使用、Web 开发、数据库访问、部署和监控等方面的知识。不断实践和学习,就能逐渐成为 Spring Boot 开发的高手。
