当前位置:首页 > 数码 > 一文搞懂Spring-Boot控制器的关键要点 (一文搞懂spring@autowired)

一文搞懂Spring-Boot控制器的关键要点 (一文搞懂spring@autowired)

admin7个月前 (05-11)数码40

SpringBoot运行程序中的控制器表演着关键角色,担任处置传入的HTTP恳求并确定应发送的适当照应。本文深化引见SpringBoot中的控制器,包括如何创立控制器、处置各种类型的恳求以及前往照应的方法。为了更好地理解这些概念,文中会提供一些示例加以说明。

1控制器简介

1.1什么是控制器

SpringBoot中的控制器是类,担任处置传入的HTTP恳求并前往适当的照应。控制器充任客户端(通常是Web阅读器或移动运行程序)与运行程序业务逻辑之间的两边人。

1.2控制器在SpringBoot中的作用

Spring

控制器作为恳求进入运行程序的入口点,接纳恳求,处置必要的数据,并确定适当的照应。这包括前往页面、用于API的JSON数据,甚至重定向到其余URL。

2创立控制器

2.1设置SpringBoot名目

在创立控制器之前,须要设置一个SpringBoot名目。可以经常使用SpringInitializr或读者青睐的集成开发环境来成功此操作。

2.2创立控制器类

在SpringBoot中,控制器是一个经常使用@Controller或@RestController(用于API)注解的Java类。上方是个繁难控制器的示例:

importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.GetMing;importorg.springframework.web.bind.annotation.ResponseBody;@ControllerpublicclassHelloController{@GetMapping("/hello")@ResponseBodypublicStringsayHello(){return"Hello,World!";}}

在此示例中,创立了一个名为HelloController的控制器,它有一个名为sayHello()的方法,用于处置对/hello端点的GET恳求。@GetMapping注解将该方法映射到指定的URL,而@ResponseBody批示前往值应间接用作HTTP照应。

3处置不同类型的恳求

3.1处置GET恳求

GET恳求用于从主机检索数据。上方是处置GET恳求的示例:

@GetMapping("/user/{id}")@ResponseBodypublicStringgetUser(@PathVariableintid){//检索具有给定ID的用户的逻辑return"用户ID:"+id;}

在此示例中,经常使用@PathVariable注解从URL门路中提取id。

3.2处置POST恳求

POST恳求用于向主机发送数据。上方是处置POST恳求的示例:

@PostMapping("/user")@ResponseBodypublicStringcreateUser(@RequestBodyUseruser){//创立新用户的逻辑return"用户已创立:"+user.getName();}

3.3处置PUT和DELETE恳求

PUT恳求用于降级现有数据,而DELETE恳求用于删除数据。上方是处置PUT和DELETE恳求的示例:

@PutMapping("/user/{id}")@ResponseBodypublicStringupdateUser(@PathVariableintid,@RequestBodyUseruser){//降级具有给定ID的用户的逻辑return"用户已降级:"+user.getName();}@DeleteMapping("/user/{id}")@ResponseBodypublicStringdeleteUser(@PathVariableintid){//删除具有给定ID的用户的逻辑return"用户已删除:"+id;}

这些示例展示了如何在SpringBoot控制器中处置不同类型的恳求。宿愿对读者有所协助。


springboot的简单理解

依赖由maven管理,1不谈 2其实就是要把依赖的jar包里的config生效

看看springboot的注解

核心注解是这几个: @SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。 @EnableAutoConfiguration:打开自动配置的功能。 @ComponentScan:Spring组件扫描。 其中,@EnableAutoConfiguration

这里import了AutoConfigurationImportSelector,这个类通过加载依赖包中的META-INF/ import、configuration、componentscan这几个注解都是通过ConfigurationClassPostProcessor实现的,这个后处理器是一个beanfactory后处理器

如上所述,springboot会加载依赖中的文件,那么只要在其中配置自己的config类,就可以被spring发现了。 贴一个典型的文件

于是MybatisPlusAutoConfiguration会被框架发现,这个类通过@Configuration注解可以作为config类被spring纳入,类中框架作者声明的一些@Bean可以作为默认配置生效,效果同自己在application-context中配置。

另一个关注的点是spring boot的配置文件,yml或properties是如何被加载的,以及我们使用配置文件中变量的实现

spring-boot-autoconfigure模块已经帮我们内置了一大片常用的AutoConfiguration,通常都会有一些condition注解去触发,如果我们引入了相关的starter就会触发其中的配置。这也是所谓“约定大于配置”的一种体现.

springboot帮我们做的两件事,一个是通过starter引入我们需要的框架,starter负责引入自己的依赖;另一个是通过autoconfigure生效一些默认的配置,简化我们的使用,这一步是通过中定义的配置类实现的。 以上就是暂时对springboot比较浅的理解,待后续深入。

深入springboot原理——一步步分析springboot启动机制(starter机制) 手把手带你剖析 Springboot 启动原理! Spring Boot读取配置的几种方式

springBoot是什么?

Spring Boot可以轻松创建可以“直接运行”的独立的、生产级的基于Spring的应用程序。

我们对Spring平台和第三方保持固执己见的看法,因此您可以轻松上手。大多数Spring Boot应用程序需要最少的时间Spring配置。

其特征如下:

创建独立的Spring应用程序

直接嵌入Tomcat、Jetty或Undertow(无需部署WAR文件)

提供自以为是的“入门”依赖项以简化您的构建配置

尽可能自动配置Spring和3rd方库

提供生产就绪功能,例如指标、健康检查和外部化配置

完全无需代码生成,无需XML配置

Spring快速入门指南

第一步:启动一个新的Spring Boot项目

利用启动创建一个“网络”项目。在“依赖项”对话框中搜索并添加“web”依赖项,如屏幕截图所示。点击“生成”按钮,下载zip,然后将其解压缩到计算机上的文件夹中。

创建的项目启动包含弹簧靴,一个使Spring准备好在您的应用程序中工作的框架,但不需要太多代码或配置。Spring Boot是启动Spring项目的最快和最流行的方式。

第2步:添加您的代码

在IDE中打开项目并在文件夹中找到该文件

src/main/java/com/example/demo。现在通过添加下面代码中显示的额外方法和注释来更改文件的内容。您可以复制并粘贴代码或直接输入。

hello()我们添加的方法旨在获取一个名为的字符串参数name,然后将该参数与Hello代码中的单词结合起来。这意味着如果您“Amy”在请求中将您的姓名设置为,则响应将为“Hello Amy”.

RestController注释告诉Spring这段代码描述了一个应该在web上可用的端点。 GetMapping(“/hello”)告诉Spring使用我们的方法hello()来回答发送到该

地址的请求。最后, RequestParam告诉Springname在请求中期待一个值,但如果它不存在,它将默认使用单词“World”。

第3步:尝试一下

让我们构建并运行程序。打开命令行(或终端)并导航到您拥有项目文件的文件夹。我们可以通过发出以下命令来构建和运行应用程序:

您应该会看到一些与此非常相似的输出:

这里的最后几行告诉我们Spring已经开始了。Spring Boot的嵌入式Apache Tomcat服务器充当Web服务器,并正在侦听localhostport上的请求8080。打开浏览器,在顶部的地址栏中输入你好.你应该得到一个很好的友好回应,如下所示:

免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。

标签: SpringBoot

“一文搞懂Spring-Boot控制器的关键要点 (一文搞懂spring@autowired)” 的相关文章

概念-Spring-AOP-实现原理和应用-中的 (概念股股票)

概念-Spring-AOP-实现原理和应用-中的 (概念股股票)

什么是AOP? AOP(Aspect-Oriented Programming,面向切面编程)是一种编程范式,其主要目的是将横切关注点(cross-cutting concern)从主要业务...

Spring-释放数据传输潜力的数据压缩技术-微服务 (springboot启动)

Spring-释放数据传输潜力的数据压缩技术-微服务 (springboot启动)

简介 随着云原生架构的兴起,微服务已成为可扩展和可维护系统的重要构建块。顾名思义,微服务是小型的、独立的服务,它们共同构成一个完整的系统。当使用微服务构建系统时,尤其是那些具有大量数据交换的系统...

如何在Spring名目中顺利性能MP-MyBatis (如何在springer上下载文献)

如何在Spring名目中顺利性能MP-MyBatis (如何在springer上下载文献)

在Spring名目中集成MP,须要启动以下性能: 1.引入依赖:在名目标pom.xml文件中参与MP相关依赖,例如:```xml<dependency><groupId&g...

事务传播行为-Spring-七种类型一览 (spring事务传播行为)

事务传播行为-Spring-七种类型一览 (spring事务传播行为)

简介 Spring 事务传播性是指在 Spring 环境中,当多个包含事务的方法嵌套调用时,每个事务方法如何处理事务上下文中的提交或回滚行为。 传播性行为 Spring 中定义了 7 种事...

b-b-核心原理拆解与源码分析-2.0-Spring-Boot-深度实践 (核心b类期刊有哪些)

b-b-核心原理拆解与源码分析-2.0-Spring-Boot-深度实践 (核心b类期刊有哪些)

SpringBoot是一个基于Spring的轻量级框架,它简化了Spring应用程序的创建过程,使得开发者能够快速搭建一个可运行的应用程序。随着SpringBoot2.0版本的发布,其功能和性能得...

极致便当与卓越容错-Topic-Spring-重试-成功-运用-Kafka (极致餐是什么意思)

极致便当与卓越容错-Topic-Spring-重试-成功-运用-Kafka (极致餐是什么意思)

概述 Kafka的弱小性能之一是每个分区都有一个Consumer的偏移值。该偏移值是消费者将读取的下一条信息的值。可以智能或手动参与该值。假设咱们因为失误而不可处置信息并想重试,咱们可以选用...

Security权限控制框架入门指南-Spring (security)

Security权限控制框架入门指南-Spring (security)

在罕用的后盾治理系统中,通常都会有访问权限控制的需求,用于限度不同人员关于接口的访问才干,假设用户不具有指定的权限,则不能访问某些接口。 本文将用waynboot-mall名目举例,给大家引...

Boot-Spring-与-3.0-加速应用性能的完美融合-GraalVM (bootstrap)

Boot-Spring-与-3.0-加速应用性能的完美融合-GraalVM (bootstrap)

在 2023 年,SpringBoot 3.0 的发布标志着 Spring 框架对 GraalVM 的全面支持。此支持对 Spring 技术栈来说是一项重大补充。 GraalVM 概述...