【Springboot】——项目的创建与请求参数应用

💻博主现有专栏:

                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的优势所在

  1. 快速开发:Spring Boot 允许开发人员快速创建可部署应用程序的框架,大量减少了传统 Spring 应用程序的配置。Spring Boot 内置了许多常见的功能,例如:嵌入式服务器、安全性、指标和运行状况检查等。

  2. 简单配置:Spring Boot 配置简单且易于理解。Spring Boot 允许使用 application.properties 或 application.yml 文件来进行配置。

  3. 自动配置:Spring Boot 自动配置使得开发人员不必手动配置 Spring 应用程序的许多组件。Spring Boot会根据类路径中的jar包自动配置 Spring 应用程序。

  4. 微服务支持:Spring Boot 为构建微服务提供了良好的支持。Spring Boot 集成了诸多微服务框架,如:Spring Cloud Netflix、Spring Cloud Consul、Spring Cloud Config 等,使开发人员实现微服务架构变得更加容易。

  5. 测试支持:Spring Boot 提供了丰富的测试支持,开发人员可以使用 JUnit 或者其他测试框架进行单元测试和集成测试。

  6. 生态系统:Spring Boot 的生态环境非常丰富,有大量的插件可以帮助开发人员快速集成开发工具、数据库、消息队列等。

        总之,Spring Boot 已经成为了开发人员创建 Web 应用程序、RESTful API 和微服务的首选工具之一,它的优势在于简化了配置、提高了开发效率、支持微服务、提供了丰富的测试支持和生态系统。

🎯编写一个Springboot-Web-maven工程

💻创建工程,勾选依赖

1.new一个新的项目,选择Spring Initializr(如果没有这个,可以下一个Spring Initializr插件,就可以)

2.选择服务URL,默认的就行

3.选择存放的位置,以及Type选择Maven

4.选择JDK版本以及Java版本


        ✨可能出现测错误

  1.         博主的JDK是11版本,默认的没有11版本的,这里可以把上面的url地址改为阿里云的镜像地址https://start.aliyun.com,就可以选择11版本的了。
  2.         如果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.Datejava.time.LocalDatejava.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会根据参数名和路径中的占位符进行自动匹配。

  • 160
    点赞
  • 135
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 216
    评论
评论 216
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y小夜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值