一文搞懂Spring-Boot控制器的关键要点 (一文搞懂spring@autowired)
SpringBoot运行程序中的控制器表演着关键角色,担任处置传入的HTTP恳求并确定应发送的适当照应。本文深化引见SpringBoot中的控制器,包括如何创立控制器、处置各种类型的恳求以及前往照应的方法。为了更好地理解这些概念,文中会提供一些示例加以说明。
1控制器简介
1.1什么是控制器
SpringBoot中的控制器是类,担任处置传入的HTTP恳求并前往适当的照应。控制器充任客户端(通常是Web阅读器或移动运行程序)与运行程序业务逻辑之间的两边人。
1.2控制器在SpringBoot中的作用
控制器作为恳求进入运行程序的入口点,接纳恳求,处置必要的数据,并确定适当的照应。这包括前往页面、用于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。打开浏览器,在顶部的地址栏中输入你好.你应该得到一个很好的友好回应,如下所示:
免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。