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

互联网应用主流框架整合 Spring Boot开发

Spring Boot概述

Spring Boot是基于Spring框架的快速开发框架,旨在通过简化配置和自动化配置,帮助开发者快速构建生产级别的应用程序。其核心特点包括:

  • 自动化配置:自动配置常用的库和框架,减少手动配置。
  • 独立运行:内置Servlet容器(如Tomcat、Jetty),无需外部容器即可运行。
  • 生产就绪:内置多种生产环境工具,如监控、指标、健康检查等。

环境准备

在开始开发之前,需要确保以下环境已安装:

  1. Java Development Kit (JDK) :推荐使用JDK 11或以上版本。
  2. Maven:项目构建和依赖管理工具。
  3. IDE:推荐使用IntelliJ IDEA或Eclipse。

项目结构

一个标准的Spring Boot项目结构如下:

spring-boot-app/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/
│   │   │       └── example/
│   │   │           ├── controller/
│   │   │           ├── service/
│   │   │           ├── repository/
│   │   │           └── SpringBootAppApplication.java
│   │   └── resources/
│   │       ├── application.properties
│   │       └── static/
│   └── test/
│       └── java/
│           └── com/
│               └── example/
│                   └── SpringBootAppApplicationTests.java
└── pom.xml
​

核心组件

创建Spring Boot项目

通过Spring Initializr创建一个新的Spring Boot项目:

  1. 访问Spring Initializr
  2. 选择项目依赖:Spring Web、Spring Data JPA、H2 Database(或MySQL)。
  3. 生成并下载项目压缩包,解压并导入IDE。
主应用类

主应用类是Spring Boot应用的入口,通常位于 com.example包下。

SpringBootAppApplication.java

package com.example;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class SpringBootAppApplication {public static void main(String[] args) {SpringApplication.run(SpringBootAppApplication.class, args);}
}
​

数据访问层

使用Spring Data JPA实现数据访问层。创建一个实体类和对应的仓库接口。

User.java

package com.example.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
}
​

UserRepository.java

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

服务层

服务层处理业务逻辑。创建一个服务类并注入仓库接口。

UserService.java

package com.example.service;import com.example.model.User;
import com.example.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class UserService {@Autowiredprivate UserRepository userRepository;public List<User> findAll() {return userRepository.findAll();}public User findById(Long id) {return userRepository.findById(id).orElse(null);}public User save(User user) {return userRepository.save(user);}public void deleteById(Long id) {userRepository.deleteById(id);}
}
​

控制层

控制层处理HTTP请求。创建一个控制器类,并定义RESTful接口。

UserController.java

package com.example.controller;import com.example.model.User;
import com.example.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.List;@RestController
@RequestMapping("/users")
public class UserController {@Autowiredprivate UserService userService;@GetMappingpublic List<User> getAllUsers() {return userService.findAll();}@GetMapping("/{id}")public User getUserById(@PathVariable Long id) {return userService.findById(id);}@PostMappingpublic User createUser(@RequestBody User user) {return userService.save(user);}@PutMapping("/{id}")public User updateUser(@PathVariable Long id, @RequestBody User user) {user.setId(id);return userService.save(user);}@DeleteMapping("/{id}")public void deleteUser(@PathVariable Long id) {userService.deleteById(id);}
}
​

配置管理

配置文件用于管理应用程序的各种配置参数。

application.properties

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
​

单元测试

编写单元测试,确保代码质量和正确性。

SpringBootAppApplicationTests.java

package com.example;import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class SpringBootAppApplicationTests {@Testvoid contextLoads() {}
}
​

部署与运行

本地运行

在IDE中运行主应用类 SpringBootAppApplication,或者使用命令行:

mvn spring-boot:run
部署

将应用打包为可执行的JAR文件,并部署到服务器上。

mvn clean package
java -jar target/spring-boot-app-0.0.1-SNAPSHOT.jar
http://www.lryc.cn/news/600451.html

相关文章:

  • 大模型——字节Coze重磅开源!Dify何去何从
  • 车载诊断刷写 --- Flash关于擦除和写入大小
  • 解决VSCode中Github Copilot无法登陆的问题
  • AI Agent开发学习系列 - LangGraph(1): 用LangGraph创建我们的第一个Agent
  • 强化学习(第三课第三周)
  • 在一个存在的包里面编写msg消息文件
  • (二)使用 LangChain 从零开始构建 RAG 系统 RAG From Scratch
  • Ubuntu22.04提示找不到python命令的解决方案
  • [Linux入门] 初学者入门:Linux DNS 域名解析服务详解
  • STM32 FreeRTOS基础
  • 垃圾回收算法与垃圾收集器
  • cacti的命令执行和回显
  • JVM参数
  • 学习游戏制作记录(剑投掷技能)7.26
  • Flutter开发实战之原生平台集成
  • 暑期算法训练.9
  • 如何查找php配置文件php.ini
  • ICMPv6报文类型详解表
  • 面条式代码(Spaghetti Code)
  • 编程与数学 03-002 计算机网络 06_网络层职责
  • RK3568笔记九十三:基于RKNN Lite的YOLOv5目标检测
  • 【Spring AI】SiliconFlow-硅基流动
  • MySQL操作进阶
  • 备份一下我的 mac mini 的环境变量配置情况
  • Android Studio Profiler工具使用流程
  • MyBatis_3
  • 零基础学后端-PHP语言(第二期-PHP基础语法)(通过php内置服务器运行php文件)
  • 【安全漏洞】防范未然:如何有效关闭不必要的HTTP请求方法,保护你的Web应用
  • Java中List集合对象去重及按属性去重
  • linux内核电源管理