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

免费获取源码的网站设计网站公司

免费获取源码的网站,设计网站公司,万网域名优惠口令,成功的o2o平台有哪些前言 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为自带的容器依赖。  dependencygroupIdorg.spingframework.boot/groupIdartifactIdsping-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 ResponseEntityItem 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 服务是基于 RESTRepresentational 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 中添加相应的依赖 dependencygroupIdorg.springdoc/groupIdartifactIdspringdoc-openapi-starter-webmvc-ui/artifactIdversion2.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 中加入以下依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-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.w-s-a.com/news/880194/

相关文章:

  • 四川新站优化php笑话网站源码
  • 外贸类网站酷玛网站建设
  • 合肥网站设计建设南宁网站seo推广优化公司
  • 临沂百度网站7x7x7x7x8黄全场免费
  • 海洋牧场网站建设大良网站设计价格
  • 手机端网站关键字排名北京seo公司哪家好
  • 福建建设培训中心网站网站建站服务公司地址
  • 青岛网站优化快速排名企业网址怎么整
  • 做公司网站用什么系统seo搜索排名优化方法
  • dw怎么做网站标题图标做网站重庆
  • 机场建设相关网站公司官网设计制作
  • 大学网站建设的目标技术支持 优府网络太原网站建设
  • wordpress设置密码访问带提示广州做网站优化哪家专业
  • 如何帮人做网站赚钱西安室内设计公司排名
  • 房产网站建设产品网站域名和邮箱域名
  • 网站建设核心优势seo求职信息
  • 网站手册自己在百度上可以做网站吗
  • 影楼网站源码建行业网站的必要性
  • 深圳app网站设计软件开发公司税收优惠政策
  • 北京市中关村有哪家可以做网站维护客户管理系统 wordpress
  • 做网站拉客户有效吗全景图网页制作工具
  • 网站建设公司行业建设网站需要提供什么资料
  • 别人的做网站网页打不开图片
  • 北京专业网站设计推荐怎么建立网站网址
  • 上海网站建设开发公司哪家好网站数据搬家
  • 杭州建站平台哪里有免费的网站推广软件
  • 深圳极速网站建设服务什么网站可以做产品入驻
  • 淄博易宝网站建设app推广拉新公司
  • 营销型外贸网站建设软件备案域名出租
  • 网站域名禁止续费m99ww094cn 苍井空做的网站