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

织梦手机网站网络营销的四个步骤

织梦手机网站,网络营销的四个步骤,跨境电商数据在哪个官网查,用cn作网站行么前言 MVC架构应用 spring-boot-starter-web MVC 控制器注解 开发基本的Web应用 控制器注解 请求与响应 请求映射 常见匹配方式 参数绑定 JSON响应 ResponseEntity 构建RESTFUL RESTful服务特点 理解表述性状态转移 RESTful设计原则 Spring Boot实现RESTful AP…

前言

MVC架构应用

spring-boot-starter-web

MVC

控制器注解

开发基本的Web应用

控制器注解

请求与响应

请求映射

常见匹配方式

参数绑定

JSON响应

ResponseEntity

构建RESTFUL

RESTful服务特点

理解表述性状态转移

RESTful设计原则

Spring Boot实现RESTful API

Spring Doc生成API文档

文件上传与下载

文件上传原理

SpringBoot实现文件上传功能

MultipartFile接口

上传配置

数据验证与异常处理

全局异常处理

数据验证

案例

总结与拓展


前言

Spring Boot作为当前Java领域最流行的Web应用开发框架,以其"约定优于配置"的理念和快速开发能力,赢得了广大开发者的青睐。本文将全面介绍Spring Boot Web应用开发的核心知识体系,帮助开发者快速构建高效、可扩展的Web应用程序。

MVC架构应用

spring-boot-starter-web

  • Spring Boot将传统Web开发的mvc、json、tomcat等框架整合,提供了spring-boot-starter-web组件,简化了Web应用配置。
  • 创建SpringBoot项目勾选Spring Web选项后,会自动将spring-boot-starter-web组件加入到项目中。
  • spring-boot-starter-web启动器主要包括web、webmvc、json、tomcat等基础依赖组件,作用是提供Web开发场景所需的所有底层依赖。
    webmvc为Web开发的基础框架,json为JSON数据解析组件,tomcat为自带的容器依赖。 
<dependency><groupId>org.spingframework.boot</groupId><artifactId>sping-boot-starter-web</artifactId>
</dependency>

MVC

  • 使用Spring Boot开发Web应用程序时,Spring MVC是其背后的主要驱动力,它为Web应用提供了模型-视图-控制器(MVC)的架构和组件。
  • MVC,即模型(Model)、视图(View)、控制器(Controller),是一种设计模式,用于将应用程序分为三个主要组件。

控制器注解

  • @Controller注解,控制器类中的方法通常返回一个字符串,代表逻辑视图的名称。
  • 这个视图名将被解析为一个实际的视图,例如一个JSP、Thymeleaf或FreeMarker模板。
@Controller
public class HelloController {@RequestMapping("/hello")public String index(ModelMap map){map.addAttribute("name", "zhangsan");return "hello";}}
  • @RestController是@Controller和@ResponseBody注解的结合体。它标记一个类为控制器,且类中的每个方法默认返回数据而非视图。
  • @RestController注解会将返回的对象数据转换为JSON格式。
@RestController
public class HelloController {@RequestMapping("/user")public User getUser(){User user = new User();user.setUsername("zhangsan");user.setPassword("123");return user;}
}

开发基本的Web应用

  • Spring Boot没有严格的项目结构,但它有一些约定,一个典型的Spring Boot项目的包结构如下:
  • 构建一个能够响应用户请求的Web服务,只需要经过以下
创建一个带有@RestController注解的类。
引入spring-boot-starter-web依赖。
在此类中定义一些带有@RequestMapping或其相关注解的方法。
@RestController
public class HelloController {@RequestMapping(value="/hello")public String index(){return "Hello World!";}
}

控制器注解

  • 示例中返回了hello页面和name的数据,在前端页面中可以通过${name}参数获取后台返回的数据并显示。
  • @Controller通常与Thymeleaf模板引擎结合使用。
    @Controller
    public class HelloController {@RequestMapping("/hello")public String index(ModelMap map){map.addAttribute("name", "zhangsan");return "hello";}}

请求与响应

请求映射

RequestMappinq 是 Sprina MVC 中的核心注解,用于将请求路径映射到特定的控制器方法。

常见匹配方式

  • @RequestMapping ("/books") 会将所有到 /books 的请求映射到控制器方法
  • @RequestMapping 注解的 method 属性允许根据 HTTP 请求的方法(如 GET、POST、PUT、DELETE 等)来进一步限定请求的匹配:
    @RequestMapping (value = "/users", method = RequestMethod.GET)
  • 为了简化开发,Spring 还提供了一些快捷注解:
    • @GetMapping: HTTP 的 GET 方法。
    • @PostMapping: HTTP 的 POST 方法。
    • @PutMapping: HTTP 的 PUT 方法。
    • @DeleteMapping: HTTP 的 DELETE 方法。
    • @PatchMapping: HTTP 的 PATCH 方法。

参数绑定

  • 在 Web 应用中,服务端经常需要获取浏览器传递的数据,例如用于搜索查询、分页、排序和过滤等场景。
  • 在 Spring Boot 中,有多种注解可用于将请求中传递的数据绑定到处理器方法的参数中,以便获取并处理这些数据。常用的注解包括:
    • @PathVariable: 从 URI 模板中提取值,如从 /books/{id} 中提取 id。
    • @RequestParam: 获取查询参数或表单数据。
    • @RequestBody: 将请求主体(通常为 JSON 或 XML)绑定到方法参数。
    • @RequestHeader: 获取请求头的值。
    • @CookieValue: 从 cookie 中提取值。

JSON响应

  • 涉及 Spring Boot 框架里的spring - boot - starter - web依赖、Jackson 库,还有@RestController注解 。
  • Jackson 库可自动将 Java 对象(如 List、Map、Set、基本数据类型及其包装类等)序列化为 JSON 格式
  • 当使用@RestController时,Spring Boot 会借助 Jackson 完成对象序列化。

ResponseEntity

  • ResponseEntity用于全面控制HTTP响应,包括状态码,头部信息和响应体内容
@GetMapping("/item/{id}")
public ResponseEntity<Item> getItem(@PathVariable Long id) {Item item = itemService.findById(id); // 调用服务层获取Item,此处仅为模拟if (item != null) {// 如果找到Item,返回状态码200 OK和Item对象return ResponseEntity.ok(item);} else {// 如果没有找到Item,返回状态码404 Not Foundreturn ResponseEntity.notFound().build();}
}

构建RESTFUL

RESTful服务概述

  • RESTful 服务是基于 REST(Representational State Transfer,表述性状态转移)架构风格的 Web 服务。
  • REST 并不是一个标准,它更像一组客户端和服务端交互时的架构理念和设计原则,基于这种架构理念和设计原则的 Web API 更加简洁,更有层次。

RESTful服务特点

理解表述性状态转移

RESTful设计原则

Spring Boot实现RESTful API

Spring Doc生成API文档

  • springdoc-openapi 是一个专为 Spring Boot 应用程序设计的开源库,可以快速、简便地生成 API 文档,从而促进前后端团队的无缝协作。
  • springdoc-openapi 还内嵌了 Swagger UI,这为开发者和用户提供了一个直观的界面来浏览和测试 API。
  • 为了在 Spring Boot 项目中集成 springdoc-openapi,首先需要在项目的 pom.xml 中添加相应的依赖
    <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.1.0</version>
    </dependency>
  • 当 Spring Boot 应用启动后,springdoc-openapi 会自动执行以下操作:
    • 扫描控制器:扫描所有带有 @RestController 和 @Controller 注解的类。
    • 读取路由信息:分析每个控制器类及其方法上的路由信息(如 @GetMapping、@PostMapping、@PutMapping 等)。
    • 参数和返回值:读取方法的参数和返回值,通常通过 Java 反射和相关库(如 Jackson)实现。
    • OpenAPI 注解:如果使用了 OpenAPI 相关注解(如 @Operation、@ApiResponse、@Parameter 等),也会被解析并包含在文档中。
    • 生成文档:基于收集到的信息,生成 OpenAPI 3.0 + 的描述文档。

  • 默认情况下,Swagger UI 可以通过 http://localhost:8080/swagger-ui.html 访问(假设应用运行在默认的 8080 端口)

文件上传与下载

文件上传原理

  • 浏览器上传文件过程是基于HTTP协议进行的,并使用特定的请求类型和编码方式。来传输文件数据。

SpringBoot实现文件上传功能

  • 在 Spring Boot 中处理文件上传主要依赖于 Spring Web 的 MultipartFile 接口。
  • MultipartFile 是一个专门用于处理 HTTP 请求中上传文件的接口。
  • 当客户端(如浏览器)通过 multipart/form - data 格式的表单提交文件时,Spring MVC 可以将这些文件映射为 MultipartFile 对象,以便在服务器端进行处理。

MultipartFile接口

上传配置

  • spring.servlet.multipart.max-file-size 定义了单个上传文件的最大大小。如果文件超过此限制,将抛出异常。
  • spring.servlet.multipart.max-request-size 定义了整个 multipart 请求的最大大小,包括所有文件和表单数据。
  • 在 application.properties 中,可以配置文件上传的相关属性,例如文件大小限制和存储位置。

数据验证与异常处理

全局异常处理

  • 全局异常处理允许在一个集中的位置处理所有的异常,确保整体的用户体验和应用的响应行为始终如一。

  • 在 Spring Boot 中,全局异常处理通常是通过使用@RestControllerAdvice@ExceptionHandler注解来实现的。
  • @RestControllerAdvice@ControllerAdvice的特殊变种,它默认将结果作为 JSON 返回,非常适合 RESTful 服务。

数据验证

  • Spring Boot 通过集成 Hibernate Validator 和使用 Java 的 Bean Validation API,为开发者提供了一套强大、灵活且易于使用的数据验证机制。
  • 要在 Spring Boot 应用程序中使用数据验证,首先需要添加相关的依赖,找 pom.xml 中加入以下依赖:
    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId>
    </dependency>

    案例

总结与拓展

Spring Boot极大地简化了Java Web应用的开发流程,使开发者能够专注于业务逻辑而非框架配置。通过本文的介绍,希望读者能够掌握Spring Boot Web开发的核心要点,构建出高性能、易维护的Web应用程序。

在实际项目中,建议结合具体业务场景,灵活运用Spring Boot提供的各种特性,并持续关注Spring生态的最新发展,如Spring Native、Spring GraphQL等新兴技术。

通过本文的讲解,你已了解 Spring Boot Web 应用开发从项目搭建、核心组件使用到请求响应处理、异常处理及实战案例的完整流程。实际开发中,还可拓展更多功能:

  • 集成缓存:使用 Spring Cache 结合 Redis 等缓存中间件,提升应用性能。
  • 安全认证:集成 Spring Security 或 JWT ,实现用户认证与授权,保障接口安全。
  • 部署优化:通过 Docker 容器化部署,结合 Jenkins 等实现持续集成与持续部署(CI/CD ),提升开发运维效率。
http://www.dtcms.com/wzjs/507045.html

相关文章:

  • 美国网站模板百度地图疫情实时动态
  • 酒店手机网站模板短期培训学什么好
  • 医药网站建设需要注意点国色天香站长工具
  • 如何提升网站搜索排名怎么seo网站排名
  • 做博客的网站有哪些功能合肥seo搜索优化
  • 怎样更换动易2006网站模板深圳全网推广托管
  • php网站空间购买百度网址大全官方下载
  • 销售人员报销网站开发费宁波网站推广方案
  • 有什么网站做兼职靠谱一些百度识图网站
  • 伦敦做网站连云港seo公司
  • 动漫网站开发设计思想杭州搜索引擎推广排名技术
  • 域名过户后怎么做网站网站推广排名
  • 做网站商城的目的是什么2022社会热点事件及看法
  • 澳门赌网站怎么做代理爱站网长尾挖掘工具
  • b2b2c商城售后服务怎样win7优化大师官方网站
  • 方一凡和磊儿做家教的网站学习软件
  • 建设银行官网网站首页关键词排名优化官网
  • 记事本怎么做网页武汉百度seo网站优化
  • 凡客诚品官网app下载百度网站优化培训
  • 新余哪有做网站的公司做个网站
  • 做网站建设公司crm在线做一个简单的网站需要多少钱
  • 网站程序源码电商培训机构需要什么资质
  • 招聘网站设计师要求全球十大搜索引擎
  • 兼职做网站赚钱吗销售课程视频免费
  • 武汉做网站搜索引擎优化方式
  • wordpress折叠seo综合查询是啥意思
  • 做网站的时候卖过假货而出过事免费域名邮箱
  • 商城网站建设企业推广的网站
  • 做的比较好的旅行网站百度竞价推广思路
  • 网站地图什么格式seo营销是什么