11/19使用Spring,gradle实现前后端交互

news/2024/11/24 18:48:18/
 
  1. 创建 Gradle 项目
    • 在你常用的 IDE(如 Intellij IDEA)中选择创建新的 Gradle 项目,按照向导进行相应的配置,选择合适的项目名称、目录等信息。
    • 配置 build.gradle 文件(Gradle 项目的配置文件),添加 Spring 相关依赖以及其他必要的插件配置,示例如下:
plugins {id 'org.springframework.boot' version '2.6.13'
// 根据实际需求选择合适的Spring Boot版本
    id 'io.spring.dependency-management' version '1.0.15.RELEASE'id 'java'
}group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'configurations {compileOnly {extendsFrom annotationProcessor}
}repositories {mavenCentral()
}dependencies {
// 这里可以根据后续实际开发情况添加更多依赖,比如数据库连接相关依赖等
    implementation 'org.springframework.boot:spring-boot-starter-jdbc'implementation 'org.springframework.boot:spring-boot-starter-web'implementation 'com.baomidou:mybatis-plus-spring-boot3-starter:3.5.9'compileOnly 'org.projectlombok:lombok'developmentOnly 'org.springframework.boot:spring-boot-devtools'runtimeOnly 'com.mysql:mysql-connector-j'annotationProcessor 'org.projectlombok:lombok'testImplementation 'org.springframework.boot:spring-boot-starter-test'
//这里引入了 //spring-boot-starter-web //依赖用于构建 Web 应用以及处理 HTTP 请求等操作。
}tasks.named('test') {useJUnitPlatform()
}

2.

  1. 创建 Spring Boot 启动类
    创建一个带有 @SpringBootApplication 注解的 Java 类,它是整个 Spring Boot 应用的入口,示例代码如下:
java">import org.springframework.boot.SpringBootApplication;@SpringBootApplication
public class Application {public static void main(String[] args) {SpringBootApplication.run(Application.class, args);}
}

3.

        创建实体类

java">public class User {private Long id;private String username;private String email;// 生成对应的Getter和Setter方法public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}
}

4

        创建 UserRepository 类来模拟从数据源获取用户数据,这里简单地返回一个预设好的用户列表,示例如下:

java">import java.util.ArrayList;
import java.util.List;import org.springframework.stereotype.Repository;@Repository
public class UserRepository {// 模拟获取所有用户信息,返回一个用户列表public List<User> findAllUsers() {List<User> users = new ArrayList<>();User user1 = new User();user1.setId(1L);user1.setUsername("Alice");user1.setEmail("alice@example.com");User user2 = new User();user2.setId(2L);user2.setUsername("Bob");user2.setEmail("bob@example.com");users.add(user1);users.add(user2);return users;}
}

5        

创建业务逻辑层

java">import java.util.List;public interface UserService {List<User> getUsers();
}

6.UserServiceImpl 实现类: 

java">import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class UserServiceImpl implements UserService {private final UserRepository userRepository;@Autowiredpublic UserServiceImpl(UserRepository userRepository) {this.userRepository = userRepository;}@Overridepublic List<User> getUsers() {return userRepository.findAllUsers();}
}

7.创建控制器(处理 HTTP 请求,与前端交互的接口)

java">import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/api/users")
public class UserController {private final UserService userService;@Autowiredpublic UserController(UserService userService) {this.userService = userService;}// 处理GET请求,获取所有用户信息,返回状态码为200(OK)的响应,包含用户数据列表@GetMappingpublic ResponseEntity<List<User>> getUsers() {List<User> users = userService.getUsers();return new ResponseEntity<>(users, HttpStatus.OK);}
}

运行 Application 启动类(Spring Boot 启动类)启动项目。项目启动后,你可以通过浏览器或者像 Postman 之类的工具发送 HTTP GET 请求到 http://localhost:8080/api/users(默认 Spring Boot 应用运行在 8080 端口,你可以通过配置文件进行端口修改),就能获取到模拟的用户信息列表,返回的数据格式通常为 JSON 格式(Spring 会自动利用相关依赖,如 Jackson 库,将 Java 对象转换为 JSON 格式返回)。

通过以上示例,你可以基于 Gradle、Java 和 Spring 框架构建一个简单的前后端交互应用,后续可以根据实际需求进一步扩展功能,比如添加更多不同类型的请求方法来实现数据的增删改等操作以及完善与数据库的交互逻辑等。


http://www.ppmy.cn/news/1549605.html

相关文章

蚁群算法(Ant Colony Optimization, ACO)

简介 蚁群算法&#xff08;Ant Colony Optimization, ACO&#xff09;是一种基于自然启发的优化算法&#xff0c;由意大利学者马可多里戈&#xff08;Marco Dorigo&#xff09;在1992年首次提出。它受自然界中蚂蚁觅食行为的启发&#xff0c;用于解决离散优化问题。 在自然界…

jquery还有其应用场景,智慧慢慢地被边缘化,但不会消亡

一、jQuery 的辉煌过往 jQuery 的诞生与崛起 在前端开发的漫长历史中&#xff0c;2006 年诞生的 jQuery 犹如一颗耀眼的新星划破天际。它由 John Resig 创造&#xff0c;一出现便以其独特的魅力迅速吸引了广大开发者的目光。在那个前端技术发展相对缓慢的时期&#xff0c;jQue…

ESP32移植Openharmony外设篇(6)光敏电阻ADC读取

光照传感器 模块简介 产品描述 光敏电阻&#xff08;photoresistor orlight-dependent resistor&#xff0c;后者缩写为LDR&#xff09;是一种基于内光电效应的半导体元件&#xff0c;它的阻值依赖于入射光强的变化 。入射光强增加&#xff0c;光敏电阻的阻值减小&#xff0…

apr共享内存

下载&#xff1a; Download - The Apache Portable Runtime Project 编译&#xff1a; 使用cmake-gui生成库&#xff1a; apr-1.lib aprapp-1.lib libapr-1.lib libaprapp-1.lib libapr-1.dll 在Developer PowerShell for VS 2019中&#xff1a; 执行nmake -f Makefile.win来…

什么是“数学活动”?

数学活动嘛&#xff0c;不就是关于数学的活动&#xff0c;还有什么可说的&#xff1f;非也&#xff0c;且看下面定义。 一、不同人的定义&#xff1a; ① “数学活动”是指在数学教学过程中&#xff0c;以学生学习兴趣和内在需要为基础&#xff0c;以主动探索、变革、改造对象…

win10局域网加密共享设置

1、创建共享账户 我的电脑右键选择管理 选择本地用户和组 -> 用户 双击用户 在空白区域右键,新建用户 然后创建用户 点击创建后 2、设置网络 右下角网络右键

C++结构型设计模式的作用和特征

在C面向对象软件设计中&#xff0c;结构型模式&#xff08;Structural Patterns&#xff09;主要关注对象和类之间的组合&#xff0c;以形成更大的结构。这些模式帮助我们管理和组织对象之间的关系&#xff0c;使得系统更加灵活、可扩展和易于维护。以下是几种常见的结构型模式…

解决mfc100u.dll缺失问题,轻松恢复系统稳定

mfc100u.dll 是一个动态链接库&#xff08;DLL&#xff09;文件&#xff0c;属于 Microsoft Foundation Classes (MFC) 库的一部分。MFC 是微软公司开发的一套用于快速开发 Windows 应用程序的 C 类库。mfc100u.dll 文件包含了 MFC 库中一些常用的函数和类的定义&#xff0c;这…