Springboot项目简单与前台进行交互

您所在的位置:网站首页 数据传输和处理采用什么技术 Springboot项目简单与前台进行交互

Springboot项目简单与前台进行交互

2023-06-04 09:37| 来源: 网络整理| 查看: 265

文章目录 前言一、HTTP请求和响应是什么?二、Springboot项目的使用步骤1.Springboot项目的简单了解2.简单了解Springboot项目所使用的标签:3.开始使用Springboot项目使用mybaits连接数据库创建三层架构的相关类创建相关数据库(选读) 4.对代码进行验证 总结

前言

Spring Boot是一个快速开发框架,可以帮助开发者快速搭建Web应用。在Spring Boot项目中,与前台进行交互通常采用RESTful API的方式,即通过HTTP请求和响应来传输数据。开发者可以使用Spring Boot的注解和相关工具来定义API接口,以及处理请求和返回响应。同时,前台可以通过Ajax等技术向后端发送请求,获取数据并进行展示。通过这种方式,Spring Boot可以与前台进行简单而高效的交互,为用户提供更好的使用体验。

一、HTTP请求和响应是什么?

HTTP请求和响应是互联网上数据传输的基础。HTTP请求是由客户端发送给服务器的数据包,用于请求特定的资源或执行某种操作。而HTTP响应则是服务器对请求作出的回应,其中包含了请求的资源或操作的结果。这些请求和响应的格式都是按照HTTP协议规定的,以确保数据的完整性和正确性。虽然HTTP请求和响应的技术细节比较复杂,但它们是许多互联网应用的基础,比如浏览网页、发送电子邮件等。

二、Springboot项目的使用步骤 1.Springboot项目的简单了解

打开我们的IDEA,我们先来了解一下我们等下使用到HTTP协议的相关标签:

 ***这里需要强调一点:***以后创建的所有包或类都要放在主包中,这关系这你的Springboot项目能否成功运行!!!

2.简单了解Springboot项目所使用的标签:

1.@SpringBootApplication(出现在主类中):通常用于Spring Boot应用程序的主类上。它充分利用了Spring框架中的自动配置特性和约定大于配置的理念,使得开发者可以更加便捷地搭建一个基于Spring Boot的应用程序。该注解包含了几个常用注解的组合,如@ComponentScan、@EnableAutoConfiguration和@Configuration等。通过@SpringBootApplication注解,开发者可以快速搭建出一个功能完备的Spring Boot应用程序,而无需手动配置大量的Spring组件。

2.@Mapper(出现在mapper类中):用于标识MyBatis框架中的Mapper接口,可以将Mapper接口与对应的映射文件(xml文件)关联起来,实现SQL语句与Java方法之间的映射。使用@Mapper注解可以简化MyBatis的配置过程,提高开发效率。

3.@RestController(出现在controller类中):它是Spring Framework中用于创建RESTful Web服务的一个方便的方式。它可以将Java类定义为RESTful Web服务的控制器,使得开发人员可以很方便地处理HTTP请求和响应。使用@RestController注解,开发人员可以将数据以JSON、XML等格式返回给客户端,从而实现前后端分离,提高Web应用程序的可扩展性和可维护性。

4.@Service(出现在service类中):它通常用于标注Java类,表示该类是一个服务(Service)组件。服务组件的作用是实现业务逻辑,为其他组件提供可重用的函数和方法。在开发过程中,@Service注解可以帮助开发者更好地组织代码,提高代码的可读性和可维护性。

5.@RequestMapping(出现在controller类中):用于在Spring框架中定义HTTP请求的处理方法。它可以将HTTP请求映射到控制器中的特定方法上,并允许开发人员指定请求的URL、请求方法、请求头、请求参数等信息,以便更精确地处理请求。这是一个非常有用的工具,可以帮助开发人员更好地管理他们的应用程序,并提供更好的用户体验。

6.@PostMapping(出现在controller类中):通常在Spring Framework中使用,用于将HTTP POST请求映射到处理程序方法上。它是Spring MVC框架中@RequestMapping注解的一种特殊情况,用于限定HTTP请求的类型。使用@PostMapping注解时,处理程序方法将只处理HTTP POST请求,并且可以根据需要访问POST请求的正文。总的来说,它是一种方便的方式来处理Web应用程序中的表单提交和其他POST请求。

7.@GetMapping(出现在controller类中):它可以用于将HTTP GET请求映射到特定的处理程序方法上。它是Spring Framework中的一个注解,用于构建RESTful Web服务。通过这个注解,我们可以在Spring Boot应用程序中很容易地处理HTTP GET请求,并将其映射到正确的处理程序方法上。

8.@DeleteMapping(出现在controller类中):用于将HTTP DELETE请求映射到特定的处理程序方法上。它通常与Spring MVC框架一起使用,用于创建RESTful Web服务。使用该注解,开发人员可以轻松地将HTTP DELETE请求映射到处理程序方法,以实现删除资源或执行其他自定义操作。

9.@Resource(三层架构所用到的注解):用于标记需要注入的资源,如数据库连接、JMS 连接工厂等。它可以替代传统的 XML 配置文件,使得代码更加简洁和易于维护。同时,@Resource 还可以指定注入的资源的名称或者类型,提高了代码的灵活性和可读性。

10.@RequestBody(注解特殊的形参):通常用于Spring框架中的Web应用程序开发中,用于指定HTTP请求的请求体应该绑定到方法的哪个参数上。具体来说,当客户端发送请求时,请求体通常包含需要传递给服务器的数据,例如JSON、XML或文本数据等。通过使用@RequestBody注解,开发人员可以将请求体中的数据映射到Java对象中,并在方法中进行处理。这种方式非常灵活,可以方便地处理不同类型的请求体数据。

11.@PathVariable(注解特殊的形参):用于从URL中提取参数值并将其注入到方法参数中。它通常与@RequestMapping注解一起使用,用于处理RESTful风格的请求。虽然@RequestMapping注解可以处理URL路径中的参数,但是@PathVariable注解可以更方便地获取路径中的参数值,并将其作为方法的参数使用。这对于处理动态URL非常有用,可以让代码更加简洁和易于维护。

3.开始使用Springboot项目 使用mybaits连接数据库

在使用mybaits插件时,我们实现需要在创建项目时选择mybaits的相关依赖,这个在我上一个博客中讲到了,不了解的小伙伴可以点击我连接一下,那么这里就不再多说;另外还需要mysql-connector-j的依赖,我会将依赖放在如下代码块中:

com.mysql mysql-connector-j runtime

完成后可以在我们项目中的pom.xml文件中查看:  接下来在我们在java目录下的resources文件下创建一个新的文件: 新文件名可以随便取,但是得以.yml结尾就行,我这里就叫:application.yml

可能就有人有疑问了,什么是yml文件呢?来看看AI的解答: .yml文件是一种文本文件,通常用于存储和传输数据。它是一种轻量级的数据交换格式,常用于配置文件和数据序列化。.yml文件采用类似于XML的键值对格式,但语法更加简洁易读。许多软件和框架都使用.yml文件来配置应用程序的行为和属性。

接下来我们来配置连接数据库的相关信息: 在我们的application.yml中配置如下信息:

spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql:///【你的数据库名称】?serverTimezone=GMT%2b8 username: 【你的数据库账号】 password: 【你的数据库密码】

如此,我们便连接上我们的数据库了。

创建三层架构的相关类

三层架构的概念也已经在我的上篇博客中介绍了,不了解的小伙伴可以点击我连接一下,那么这里便不再过多讲述; 依次创建mapper类,service类,controller类和entity类(实体类),注意:创建包时一定要在我们的主包目录下!!!

创建完的样子~~

 因为,我还没有创建相关演示数据库,所以创建数据库就当成额外选读内容咯。

创建相关数据库(选读)

使用我们的数据库图示化工具,创建一个sys_user表,表的属性为id(主键,自增)、user_name、nickname即可,我把源码放在下面:

CREATE TABLE `sys_user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `user_name` varchar(255) DEFAULT NULL COMMENT '用户昵称', `nickname` varchar(255) DEFAULT NULL COMMENT '用户职业', PRIMARY KEY (`id`) );

之后,我们插入三条数据:

之后,我们开始创建三层架构,首先是在entity类里面创建我们的User类,User类的相关创建如下:

@Data // lombok里面的标签,作用是为该类的属性添加get和set方法 @TableName("sys_user") // mybatis-plus依赖,作用是让该表对应数据库中的sys_user表 public class User { @TableId(type = IdType.AUTO) // mybatis-plus依赖,作用是让IDea识别该表的主键,该主键类型为自增 private Integer id; private String userName; private String Nickname; }

如果你没有mybaits-plus的依赖的话,别急,我这儿有:(将其加入到你的pom.xml文件中)

com.baomidou mybatis-plus-boot-starter 3.5.1

其次是Mapper接口,其相关构建如下: 里面的sql语句皆为静态sql语句,动态sql语句这里先不讲解,等下篇博客再说~~

@Mapper public interface UserMapper { //查询所有 @Select("select * from sys_user") List findAll(); //增加 @Insert("insert into sys_user(user_name,nickname) values(#{userName},#{nickName})") int insertById(User user); //修改 @Update("update sys_user set nickname = #{nickname} where id = #{id}") int updateById(User user); @Delete("delete from sys_user where id = #{id}") Integer deleteById(@Param("id") Integer id); }

之后是我们的Service类,其相关构建如下:

@Service public class UserService{ @Resource private UserMapper userMapper; // 插入用户的方法 public int insert(User user){ return userMapper.insertById(user); } // 更新用户的方法 public int update(User user){ return userMapper.updateById(user); } //删除用户的方法 public int delete(Integer id){ return userMapper.deleteById(id); } }

最后,是我们的controller类,也是实现前后端交互的接口所在的类,其相关构建如下:

@RestController @RequestMapping("/user") public class UserController { @Resource private UserService userService; @Resource private UserMapper userMapper; // 查询的接口 @GetMapping public List index(){ List all = userMapper.findAll(); return all; } // 插入的接口 @PostMapping("/insert") public int insert(@RequestBody User user){ return userService.insert(user); } // 删除的接口 @DeleteMapping("/delete/{id}") public int delete(@PathVariable("id") Integer id){ return userService.delete(id); } // 更新的接口 @GetMapping("/update") public int update(@RequestBody User user){ return userService.update(user); } } 4.对代码进行验证

写完我们的三层架构后,我们就可以启动项目对我们的代码进行验证了: 找到我们项目的启动口,点击:  当控制台出现如下情况,说明我们项目已经成功启动:

查询全部时,PostMan的操作及结果:

插入时,PostMan的操作及数据库结果(插入的数据为:李四,清洁工):

删除时,PostMan的操作及数据库的结果(删除的id为4):

更新时,PostMan的操作和数据库的结果(将id为2的nickname改为科长):

从各种结果可以看到,我们的接口还是非常成功的,对于比较复杂的接口的封装,我们就可以着手去写了。

至此,我们的简单与前台交互就到这里,希望本篇博客可以对你有所帮助!!

总结

Springboot是一款优秀的Java开发框架,可以帮助开发者快速构建高效的后台应用程序。在与前台进行交互方面,Springboot提供了多种方式,例如使用RESTful API进行数据交互、使用Thymeleaf模板引擎进行页面渲染等等。通过这些方式,开发者可以轻松地实现前后端交互,提高应用程序的用户体验。同时,Springboot还提供了丰富的文档和社区支持,可以帮助开发者快速解决问题,提高开发效率。总之,Springboot是一款非常优秀的开发框架,可以帮助开发者快速实现应用程序的功能,提高开发效率和用户体验。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3