Spring Boot 应用开发入门(一)

news/2024/12/26 3:18:04 标签: spring boot, 后端, java

Spring Boot 应用开发入门

1. Spring Boot 开发环境配置

1.1 安装 Java 开发环境

Spring Boot 是基于 Java 的开发框架,因此首先需要安装 Java Development Kit (JDK)。建议使用 JDK 11 或以上版本。

  • 安装 JDK

     

    bash

    复制代码

    brew install openjdk@11

  • 配置环境变量

     

    bash

    复制代码

    export PATH="/usr/local/opt/openjdk@11/bin:$PATH" export JAVA_HOME="/usr/local/opt/openjdk@11/libexec/openjdk.jdk/Contents/Home"

  • 检查 JDK 安装

     

    bash

    复制代码

    java -version

1.2 安装 Spring Boot CLI(可选)

Spring Boot CLI 是一个命令行工具,可以通过命令行快速创建和运行 Spring Boot 项目。

  • 安装 Spring Boot CLI

     

    bash

    复制代码

    brew install springboot

  • 检查安装

     

    bash

    复制代码

    spring --version

1.3 安装 IDE(推荐 IntelliJ IDEA 或 VS Code)

  • IntelliJ IDEA:Spring Boot 官方推荐的 IDE,支持自动补全、调试、Spring 配置等功能。
  • Visual Studio Code:轻量级编辑器,通过插件可以支持 Spring Boot 开发。

2. 创建 Spring Boot 项目

2.1 使用 Spring Initializr 创建项目

Spring Initializr 是一个在线工具,用于快速生成 Spring Boot 项目的骨架。

  1. 打开 Spring Initializr。
  2. 配置项目:
    • Project: Maven Project 或 Gradle Project
    • Language: Java
    • Spring Boot Version: 默认最新稳定版
    • Group: com.example
    • Artifact: demo
    • Dependencies: 选择需要的依赖,如 Spring Web, Spring Data JPA, H2 Database, Thymeleaf 等。
  3. 点击 Generate 下载并解压生成的项目。

2.2 使用 Spring CLI 创建项目

通过 Spring CLI 可以在命令行创建项目:

  1. 创建项目:

     

    bash

    复制代码

    spring init --dependencies=web,data-jpa,h2 --build=maven --java-version=11 --name=demo demo

  2. 进入项目目录:

     

    bash

    复制代码

    cd demo

  3. 运行项目:

     

    bash

    复制代码

    spring run src/main/java/com/example/demo/DemoApplication.java


3. Spring Boot 应用的结构

一个基本的 Spring Boot 项目通常包含以下几个部分:

 

csharp

复制代码

demo ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ └── example │ │ │ └── demo │ │ │ ├── DemoApplication.java # 主应用入口 │ │ │ ├── controller │ │ │ ├── service │ │ │ └── repository │ │ ├── resources │ │ │ ├── application.properties # 配置文件 │ │ │ └── static │ │ │ └── templates └── pom.xml


4. 编写一个简单的 Spring Boot 应用

4.1 创建主应用类(DemoApplication.java

 

java

复制代码

package com.example.demo; 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); } }

4.2 创建一个简单的 Controller

 

java

复制代码

package com.example.demo.controller; 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!"; } }

4.3 配置文件(application.properties

 

properties

复制代码

server.port=8081 spring.datasource.url=jdbc:h2:mem:testdb spring.datasource.driverClassName=org.h2.Driver spring.datasource.username=sa spring.datasource.password=password spring.jpa.database-platform=org.hibernate.dialect.H2Dialect

4.4 运行 Spring Boot 应用

通过以下两种方式之一来运行 Spring Boot 应用:

  1. 使用 Maven

     

    bash

    复制代码

    mvn spring-boot:run

  2. 通过 IDE 运行: 只需在 IDE 中点击运行按钮即可启动应用。


5. 添加数据库支持(Spring Data JPA)

5.1 添加依赖

pom.xml 中添加 Spring Data JPA 和 H2 数据库依赖:

 

xml

复制代码

<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> </dependencies>

5.2 创建实体类(User.java

 

java

复制代码

package com.example.demo.model; 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 String email; // Getters and Setters }

5.3 创建 Repository 接口

 

java

复制代码

package com.example.demo.repository; import com.example.demo.model.User; import org.springframework.data.jpa.repository.JpaRepository; public interface UserRepository extends JpaRepository<User, Long> { }

5.4 创建 Service 和 Controller

UserService.java

 

java

复制代码

package com.example.demo.service; import com.example.demo.model.User; import com.example.demo.repository.UserRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class UserService { @Autowired private UserRepository userRepository; public List<User> getAllUsers() { return userRepository.findAll(); } }

UserController.java

 

java

复制代码

package com.example.demo.controller; import com.example.demo.model.User; import com.example.demo.service.UserService; 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 UserService userService; @GetMapping("/users") public List<User> getUsers() { return userService.getAllUsers(); } }


6. 总结

通过 Spring Boot,你可以快速构建一个 Web 应用,减少了许多繁琐的配置和样板代码,专注于业务逻辑的实现。Spring Boot 集成了许多常用功能,如 Web 开发、数据库支持、集成测试等,使得开发过程更加高效和简洁。

更多内容可以访问我的博客 https://ai.tmqcjr.com


http://www.niftyadmin.cn/n/5799709.html

相关文章

5-2 LED特定图标显示

这段代码的目的是在LED矩阵显示缓冲区中设置或清除一个特定的图标&#xff08;在这个例子中可能是重量图标&#xff09;&#xff0c;具体取决于 isDisplay 参数的值。让我们逐步解析这段代码&#xff0c;理解其作用和逻辑。 显示指定图标和隐藏指定图标的代码 esp_err_t led_ma…

网络安全研究中的网络攻击

网络安全研究中的网络攻击 在网络安全研究中,多种网络攻击场景可用于测试系统的安全性,以下是一些常见的网络攻击场景、模拟方法、相关软件及其使用示例: 分布式拒绝服务(DDoS)攻击 模拟方法:利用工具向目标系统发送大量的请求流量,耗尽其网络带宽、系统资源(如 CPU、…

招投标:使用AI快速编写行业投标文件

使用AI大模型工具&#xff08;如GPT-4&#xff09;可以显著加速智慧农业投标书的编写过程。以下是基于您提供的流程&#xff0c;详细说明如何在各个阶段应用AI大模型工具以提升效率和质量&#xff1a; 前期准备阶段 明确招标要求 AI辅助理解&#xff1a;将招标文件的关键部分输…

[创业之路-206]:《华为战略管理法-DSTE实战体系》- 6-关键成功因素法CSF

目录 一、概述 1、定义与起源 2、关键成功因素的定义 3、关键成功因素的来源 4、关键成功因素的确认方法 5、关键成功因素法的步骤 6、关键成功因素法的应用 7、关键成功因素法的优势与局限性 二、 关键成功因素法CSF的应用 1、企业战略管理 2、项目管理 3、绩效管…

数据库安全-redisCouchdb

1.redis未授权访问 默认端口:6379 1.1 Redis沙盒逃逸漏洞RCE-CVE-2022-0543 介绍&#xff1a;Redis 是一套开源的使用 ANSI C编写、支持网络、可基于内存亦可持久化的日志型、键值存储数据库&#xff0c;并提供多种语言的API。Redis 如果在没有开启认证的情况下&#xff0c;…

C++ 指针进阶:动态内存与复杂应用

1. 动态内存分配&#xff1a;new 与 delete 运算符 在 C 编程中&#xff0c;动态内存分配是一项至关重要的技术&#xff0c;它允许我们在程序运行时根据实际需求分配和释放内存。new运算符用于在堆内存中分配内存&#xff0c;delete运算符则用于释放通过new分配的内存。 当我…

计算机网络:IP地址相关知识总结

目录 一、IP地址的表现形式 1.1 十进制表示形式 1.2 二进制表示形式 1.3 转换示例介绍 二、IP地址的组成 2.1 网络ID 2.2 主机ID 2.3 示例 三、IP地址的分类 3.1 A类地址 3.2 B类地址 3.3 C类地址 3.4 D类地址 3.5 E类地址 四、常见的特殊IP地址 五、IP地址二进…

人工智能与物联网:从智慧家居到智能城市的未来蓝图

引言&#xff1a;未来已来&#xff0c;智能化的世界 想象一下&#xff0c;一个早晨&#xff0c;智能闹钟根据你的睡眠状态自动调整叫醒时间&#xff0c;咖啡机早已备好热腾腾的咖啡&#xff0c;窗帘缓缓拉开&#xff0c;迎接清晨的阳光。这不是科幻小说中的场景&#xff0c;而是…