当前位置: 首页 > article >正文

Java直通车系列23【Spring Boot】(了解 Spring Boot 概念与优势)

目录

Spring Boot 概念

Spring Boot 优势

1. 快速搭建项目

2. 自动配置

3. 嵌入式服务器

4. 生产就绪特性

5. 依赖管理

6. 微服务友好

场景示例

场景一:快速搭建 Web 应用

步骤 1:创建项目

步骤 2:编写控制器

步骤 3:运行应用

步骤 4:测试应用

场景二:与数据库集成

步骤 1:创建项目

步骤 2:配置数据库连接

步骤 3:创建实体类

步骤 4:创建 Repository 接口

步骤 5:创建控制器

步骤 6:运行应用


Spring Boot 概念

Spring Boot 是由 Pivotal 团队开发的用于简化 Spring 应用初始搭建和开发过程的框架。它基于 Spring 框架,通过提供默认配置和自动化装配机制,帮助开发者快速搭建并运行一个独立的、生产级别的 Spring 应用,无需繁琐的 XML 配置。

Spring Boot 优势

1. 快速搭建项目

Spring Boot 提供了 Spring Initializr 这样的工具(可以通过网页或 IDE 插件使用),开发者只需选择项目所需的依赖,即可快速生成一个基础的项目结构,大大节省了项目初始化的时间。

2. 自动配置

Spring Boot 能够根据项目中添加的依赖自动进行配置。例如,当你添加了 Spring Data JPA 和 MySQL 驱动依赖后,Spring Boot 会自动配置数据源、JPA 实体管理器等,无需手动编写大量的配置代码。

3. 嵌入式服务器

Spring Boot 内置了嵌入式服务器,如 Tomcat、Jetty 等,开发者可以将应用打包成可执行的 JAR 或 WAR 文件,直接运行,无需额外部署到外部服务器,方便开发和测试。

4. 生产就绪特性

Spring Boot 提供了丰富的生产就绪特性,如健康检查、指标监控、外部化配置等。通过简单的配置,就可以开启这些功能,方便在生产环境中对应用进行管理和监控。

5. 依赖管理

Spring Boot 的 spring-boot-starter 依赖管理机制可以自动管理项目的依赖版本,避免了依赖冲突的问题。开发者只需引入所需的 starter 依赖,Spring Boot 会自动处理其依赖的版本和传递依赖。

6. 微服务友好

Spring Boot 非常适合用于构建微服务架构。它的轻量级和快速启动特性使得每个微服务可以独立开发、部署和扩展,并且可以与 Spring Cloud 等微服务框架无缝集成。

场景示例

场景一:快速搭建 Web 应用

以下是一个使用 Spring Boot 快速搭建简单 Web 应用的示例:

步骤 1:创建项目

可以使用 Spring Initializr(https://start.spring.io/)创建一个新的 Spring Boot 项目,选择以下依赖:

  • Spring Web:用于构建 Web 应用。

下载项目压缩包并解压到本地,使用 IDE 打开项目。

步骤 2:编写控制器

在 src/main/java 目录下创建一个控制器类,例如 HelloController.java

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, Spring Boot!";
    }
}
  • @RestController 注解表示这是一个 RESTful 风格的控制器,方法的返回值会直接作为 HTTP 响应的主体内容返回。
  • @GetMapping("/hello") 注解将 /hello 的 GET 请求映射到 sayHello 方法。
步骤 3:运行应用

在项目的主类(通常是带有 @SpringBootApplication 注解的类)中运行 main 方法:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}
  • @SpringBootApplication 是一个组合注解,包含了 @Configuration@EnableAutoConfiguration 和 @ComponentScan 等注解,用于开启 Spring Boot 的自动配置和组件扫描功能。
步骤 4:测试应用

打开浏览器或使用工具(如 Postman)访问 http://localhost:8080/hello,会看到页面显示 “Hello, Spring Boot!”。

场景二:与数据库集成

以下是一个使用 Spring Boot 与 MySQL 数据库集成的示例:

步骤 1:创建项目

使用 Spring Initializr 创建一个新的 Spring Boot 项目,选择以下依赖:

  • Spring Web:用于构建 Web 应用。
  • Spring Data JPA:用于简化数据库操作。
  • MySQL Driver:用于连接 MySQL 数据库。
步骤 2:配置数据库连接

在 src/main/resources 目录下的 application.properties 文件中添加以下配置:

spring.datasource.url=jdbc:mysql://localhost:3306/your_database
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
  • spring.datasource.url:数据库连接 URL。
  • spring.datasource.username 和 spring.datasource.password:数据库用户名和密码。
  • spring.datasource.driver-class-name:数据库驱动类名。
  • spring.jpa.hibernate.ddl-auto=update:自动更新数据库表结构。
  • spring.jpa.show-sql=true:显示执行的 SQL 语句。
步骤 3:创建实体类

在 src/main/java 目录下创建一个实体类,例如 User.java

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private int 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 int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
  • @Entity 注解表示这是一个 JPA 实体类。
  • @Id 注解表示该属性是主键。
  • @GeneratedValue(strategy = GenerationType.IDENTITY) 注解表示主键自增。
步骤 4:创建 Repository 接口

在 src/main/java 目录下创建一个 Repository 接口,例如 UserRepository.java

import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<User, Long> {
}
  • JpaRepository 是 Spring Data JPA 提供的一个基础接口,包含了常用的数据库操作方法,如 savefindAllfindById 等。
步骤 5:创建控制器

在 src/main/java 目录下创建一个控制器类,例如 UserController.java

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 UserRepository userRepository;

    @GetMapping("/users")
    public List<User> getUsers() {
        return userRepository.findAll();
    }
}
  • @Autowired 注解用于自动注入 UserRepository 实例。
  • @GetMapping("/users") 注解将 /users 的 GET 请求映射到 getUsers 方法,该方法调用 userRepository.findAll() 方法获取所有用户信息。
步骤 6:运行应用

运行项目的主类,访问 http://localhost:8080/users,如果数据库中有用户数据,会以 JSON 格式返回用户列表。

通过以上两个场景示例,可以看到 Spring Boot 能够帮助开发者快速搭建和开发各种类型的应用,大大提高了开发效率。


http://www.kler.cn/a/581582.html

相关文章:

  • Camel AI Owl + 阿里云QWQ 本地部署
  • Ubuntu 下 nginx-1.24.0 源码分析 (1)
  • 桂云OSG:桂链是什么?
  • Html5学习教程,从入门到精通, HTML5 Canvas 全攻略:从入门到精通(19)
  • 《苍穹外卖》SpringBoot后端开发项目核心知识点整理(DAY1 to DAY3)
  • 使用外挂工具,简化教师资格面试的纸质试题打印操作
  • 探秘 CSS 盒子模型:构建网页布局的基石
  • Leetcode 55: 跳跃游戏
  • 物联网时代的车队管理系统阐述
  • 【2025】Electron 基础二(进程模型三大核心)
  • 【ISP】ISP的pipeline的几种关键算法
  • 封装AJAX(带详细注释)
  • OWL: 适用于现实任务自动化的多智能体协作框架
  • 版本控制器Git(1)
  • 从零开始用HTML、CSS和JavaScript制作贪吃蛇网页小游戏
  • XXE靶机详细通关攻略(flag)
  • 云计算VS网络安全,应该怎么选?
  • Chebykan wx 文章阅读
  • 新一代开源数字供应链安全审查与治理平台:悬镜源鉴SCA
  • OWL(Optimized Workforce Learning): 优化劳动力学习的通用智能体,用于处理现实世界的自动化任务(58.18 平均分)