💻博主现有专栏:
C51单片机(STC89C516),c语言,c++,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux,基于HTML5的网页设计及应用,Rust(官方文档重点总结),jQuery,前端vue.js,Javaweb开发,设计模式、Python机器学习、Springboot等
🥏主页链接:Y小夜-CSDN博客
目录
🎯了解spring
🎯Springboot的优势所在
🎯编写一个Springboot-Web-maven工程
💻创建工程,勾选依赖
✨可能出现测错误
💻定义类,添加注解
💻进行测试
🎯请求参数注解
💻简单参数
💻实体参数
💻数组集合参数
💻日期参数
💻Json参数
💻路径参数
🎯了解spring
官网:spring官方网站
上面解释道:
对每个人来说,Spring使Java编程变得更快、更容易、更安全。Spring对速度、简单性和生产力的关注使其成为世界上最流行的Java框架。
🎯Springboot的优势所在
快速开发:Spring Boot 允许开发人员快速创建可部署应用程序的框架,大量减少了传统 Spring 应用程序的配置。Spring Boot 内置了许多常见的功能,例如:嵌入式服务器、安全性、指标和运行状况检查等。
简单配置:Spring Boot 配置简单且易于理解。Spring Boot 允许使用 application.properties 或 application.yml 文件来进行配置。
自动配置:Spring Boot 自动配置使得开发人员不必手动配置 Spring 应用程序的许多组件。Spring Boot会根据类路径中的jar包自动配置 Spring 应用程序。
微服务支持:Spring Boot 为构建微服务提供了良好的支持。Spring Boot 集成了诸多微服务框架,如:Spring Cloud Netflix、Spring Cloud Consul、Spring Cloud Config 等,使开发人员实现微服务架构变得更加容易。
测试支持:Spring Boot 提供了丰富的测试支持,开发人员可以使用 JUnit 或者其他测试框架进行单元测试和集成测试。
生态系统:Spring Boot 的生态环境非常丰富,有大量的插件可以帮助开发人员快速集成开发工具、数据库、消息队列等。
总之,Spring Boot 已经成为了开发人员创建 Web 应用程序、RESTful API 和微服务的首选工具之一,它的优势在于简化了配置、提高了开发效率、支持微服务、提供了丰富的测试支持和生态系统。
🎯编写一个Springboot-Web-maven工程
💻创建工程,勾选依赖
1.new一个新的项目,选择Spring Initializr(如果没有这个,可以下一个Spring Initializr插件,就可以)
2.选择服务URL,默认的就行
3.选择存放的位置,以及Type选择Maven
4.选择JDK版本以及Java版本
✨可能出现测错误
- 博主的JDK是11版本,默认的没有11版本的,这里可以把上面的url地址改为阿里云的镜像地址https://start.aliyun.com,就可以选择11版本的了。
- 如果url旁边有红色感叹号,报连接超时的错误或者无法进行下下一步,解决方案如下:
点击File——》Settings
搜索Http Proxy
点击Auto-detect proxy settings,输入刚刚设置的url地址
进行测试连接,点击Check connection
输入连接URL,显示连接成功。
5.解决错误之后,回到前几步,勾选Spring Web,导入依赖,点击创建
💻定义类,添加注解
在SpringBootApplication类的同级目录下,创建一个HelloController类(一定要是同级目录下!,涉及到扫描范围,以后再讲)
在HelloController类中编写代码
@RestController public class HelloController { @RequestMapping("/aa") public String a(){ System.out.printf("你好"); return "你好"; } }
这是一个简单的 Spring Boot 控制器类,使用了
@RestController
注解来标识这是一个 RESTful 风格的控制器类。其中定义了一个名为a()
的方法,并使用@RequestMapping("/aa")
注解将该方法映射到 "/aa" 的请求路径上。在这个方法中,使用了
System.out.printf("你好")
语句来在控制台输出"你好",然后通过return
语句返回字符串"你好"作为响应内容。当访问应用程序的 "/aa" 路径时,该方法会被调用,控制台将输出"你好",并将"你好"作为响应内容返回给客户端。
💻进行测试
运行SpringBootApplication类在浏览器中输入
http://localhost:8080/aa
页面上:
控制台输出一个“你好”
🎯请求参数注解
💻简单参数
简单参数:如果方法形参名名称不匹配,可以使用@RequestParam完成映射。
@RequestParam是一种常用的注解,用于获取HTTP请求中的参数值。通过使用@RequestParam注解,我们可以将请求参数映射到方法中的参数上。
例如,在Java Spring框架中,我们可以这样使用@RequestParam注解:
@RequestMapping("/example") public String exampleMethod(@RequestParam("paramName") String paramValue) { // 处理业务逻辑 return "result"; }
在上面的例子中,我们使用@RequestParam注解来绑定名为"paramName"的请求参数到方法的paramValue参数上。
请注意,@RequestParam注解还有其他属性可以配置,例如设置参数的默认值、是否必需等。具体使用方式可以根据你所使用的框架和语言进行调整。
💻实体参数
如果你需要将多个请求参数绑定到一个实体参数上,可以使用实体类作为方法的参数,并通过@RequestParam注解来指定每个属性对应的请求参数。这样,框架会自动将请求参数的值映射到实体类的属性上。
@RequestMapping("/example") public String exampleMethod(@RequestParam("param1") String param1, @RequestParam("param2") int param2, @RequestParam("param3") boolean param3) { // 处理业务逻辑 return "result"; }
在上面的例子中,我们通过@RequestParam注解将三个请求参数分别绑定到了方法的param1、param2和param3参数上。
如果你想将多个参数绑定到一个实体类中,首先需要创建一个包含对应属性的实体类。然后,在方法参数中使用该实体类作为参数,并添加@RequestParam注解来指定请求参数的映射关系。
例如,假设我们有一个User实体类:
public class User { private String username; private int age; // 其他属性 // getter和setter方法 }
然后,在Controller中可以这样使用:
@RequestMapping("/user") public String createUser(User user) { // 处理业务逻辑,使用user对象的属性值 return "result"; }
💻数组集合参数
在 Spring Boot 中,你可以通过使用数组或集合作为方法的参数来接收多个参数。这样可以方便地处理多个值传递给控制器的情况。
以下是使用数组和集合作为参数的示例:
@RestController public class MyController { @GetMapping("/array-example") public String handleArrayExample(String[] values) { // 处理数组参数 for (String value : values) { System.out.println(value); } return "Array Example"; } @GetMapping("/list-example") public String handleListExample( List<String> values) { // 处理集合参数 for (String value : values) { System.out.println(value); } return "List Example"; } }
💻日期参数
在Java中,常用的表示日期的数据类型有
java.util.Date
、java.time.LocalDate
和java.sql.Date
等。具体选择哪个类型取决于你的项目需求和开发环境。以下是一个示例,演示如何将日期参数绑定到方法的参数上:
@RequestMapping("/example") public String exampleMethod(@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate date) { // 处理业务逻辑 return "result"; }
在上面的例子中,我们使用@RequestParam注解将名为"date"的请求参数映射到方法的date参数上,同时使用@DateTimeFormat注解来指定日期格式。
💻Json参数
如果你需要从请求体中获取JSON格式的参数并将其绑定到方法的参数上,可以使用
@RequestBody
注解。在Controller方法中,添加一个使用
@RequestBody
注解的参数,Spring框架会自动将请求体中的JSON数据转换为对应的Java对象。@RequestMapping("/example") public String exampleMethod(@RequestBody ExampleObject exampleObject) { // 处理业务逻辑,使用exampleObject对象的属性值 return "result"; }
在上面的例子中,我们使用
@RequestBody
注解将请求体中的JSON数据映射到ExampleObject对象上,然后可以直接使用ExampleObject对象的属性值进行业务逻辑处理。请注意,请求体中的JSON数据需要与ExampleObject对象的属性名和类型相匹配,否则可能会导致转换失败或出现数据不一致的问题。
💻路径参数
如果你需要从URL路径中获取参数并将其绑定到方法的参数上,可以使用
@PathVariable
注解。在Controller方法中,添加一个使用
@PathVariable
注解的参数,Spring框架会自动将URL路径中的参数值传递给该参数。@RequestMapping("/example/{id}") public String exampleMethod(@PathVariable String id) { // 处理业务逻辑,使用id参数 return "result"; }
可以在注解中不指定参数名,即:
@PathVariable String id
。这样,Spring会根据参数名和路径中的占位符进行自动匹配。