springboot知识点大全

news2024/11/28 12:11:45

文章目录

  • Lombok
    • Lombok介绍
    • Lombok常用注解
    • Lombok应用实例
      • 代码实现
      • idea安装lombok插件
  • Spring Initializr
    • Spring Initializr介绍
    • Spring Initializr使用演示
      • 需求说明
      • 方式1: IDEA创建
      • 方式2: start.spring.io创建
    • 注意事项和说明
  • yaml语法
    • yaml介绍
    • 使用文档
    • yaml基本语法
    • 数据类型
      • 字面量
      • 对象
      • 数组
    • yaml应用实例
      • 需求图解
      • 代码实现
      • 注意事项和使用细节
  • WEB开发-静态资源访问
    • 官方文档
    • 基本介绍
    • 快速入门
    • 注意事项和细节
  • Rest风格请求处理
    • 基本介绍
    • 应用实例
    • 注意事项和细节

在这里插入图片描述

上文中, 我们学习的是分布式微服务: springboot底层机制实现

Lombok

Lombok介绍

●Lombok介绍
1.简化JavaBean开发, 可以使用Lombok的注解让代码更加简洁. mybatis中学习过

2.Java项目中, 很多没有技术含量又必须存在的代码, POJO的getter/setter/toString;异常处理;I/O流的关闭操作等等,这些代码既没有技术含量,又影响着代码的美观,Lombok应运而生。

SpringBootIDEA官方支持
1.IDEA 2020已经内置了Lombok插件
2.SpringBoot 2.1.x之后的版本也在Starter中内置了Lombok依赖

Lombok常用注解

在这里插入图片描述

Lombok应用实例

代码实现

●需求说明
回到我们的 quickstart 项目, 使用Lombok简化Furn.java代码, 让代码简洁高效

1.在pom.xml中引入lombok
引入lombok, 版本在spring-boot-dependencies-2.5.3.pom已经指定了, 把光标放在lombok, ctrl+b 可以看到. springboot依赖管理

在这里插入图片描述

2.修改Furn.java, 使用Lombok注解简化代码. 提示: 可以通过idea自带的反编译功能, 看Furn.class的源代码

@Component
@ToString //编译时, 生成toString方法, 默认情况下, 会生成一个无参构造器
@ConfigurationProperties(prefix = "furn01")
public class Furn {
    private Integer id;
    private String name;
    private BigDecimal price;
}

在这里插入图片描述

3.@Data注解

@Component
@ConfigurationProperties(prefix = "furn01")
/**
 * 说明:
 * 1. Equivalent to {@code @Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode}.
 * 2. @Data 注解等价使用了 如下注解
 * @Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode
 * 3. @RequiredArgsConstructor, 单独地说一下
 */
@Data
public class Furn {
    private Integer id;
    private String name;
    private BigDecimal price;
}

编译后

在这里插入图片描述

4.@RequiredArgsConstructor详解
在我们写controller或者Service层的时候,需要注入很多的mapper接口或者另外的service接口,这时候就会写很多的@Autowired注解,代码看起来很乱
lombok提供了一个注解:

@RequiredArgsConstructor(onConstructor = @_(@Autowired))
写在类上可以代替@Autowired注解,需要注意的是在注入时需要用final定义,或者使用@notnull注解

在这里插入图片描述

5.@NoArgsConstructor详解

/**
 * 说明: @NoArgsConstructor 在编译时, 会生成无参构造器, 前面我们说过, 默认情况下, 会生成一个无参构造器
 * 说明: 当我们有其它构造器生成时, 如果你希望仍然有无参构造器, 就需要使用@NoArgsConstructor显示声明一下
 *      , 否则就会覆盖无参构造器, 从而造成代码错误
 */
//@NoArgsConstructor

/**
 * @allArgsConstructor 在编译时, 会生成全参构造器, 造成覆盖掉无参构造器, 项目启动, 报错
 * 解决方案一: 取消Furn作为Bean注入, 那么在需要自动装配Furn的位置, 通通注释掉
 * 解决方案二: 显式声明一下无参构造器, 可以手写, 也可以用@NoArgsConstructor
 */
@AllArgsConstructor
public class Furn {
    private Integer id;
    private String name;
    private BigDecimal price;
}

idea安装lombok插件

1.不装插件也可以使用基本的注解, 比如 @Data, @Getter 等.

2.但是不能使用其扩展功能, 比如 日志输出, 如意我们还是安装一下, 也比较简单.

在这里插入图片描述

3.演示使用Lombok支持日志输出(建议使用slf4j), 修改src/main/java/com/zzw/HiController.java

@RequestMapping("/furn")
@ResponseBody
public Furn furn() {
    //System.out.println("furn = " + furn);
    //使用slfj日志输出
    //普通方式
    log.info("furn-" + furn);
    //占位符方式输出
    log.info("furn={}, myfurn={}", furn, furn);
    return furn;
}

4.浏览器访问 http://localhost:8088/furn

前端显示

在这里插入图片描述

后端显示
2024-06-17 13:38:33.476 INFO 11584 — [nio-8088-exec-3] com.zzw.HiController : furn-Furn(id=100, name=家居, price=6000)
2024-06-17 13:38:33.476 INFO 11584 — [nio-8088-exec-3] com.zzw.HiController : furn=Furn(id=100, name=家居, price=6000), myfurn=Furn(id=100, name=家居, price=6000)

前提:
1.Furn实体类要有toString方法, 否则后端输出对象地址.
2.Furn实体类要有setter方法, 因为application.properties中的属性通过setter方法设置, 否则后端输出null.
3.Furn实体类要有getter方法, 因为furn.id furn.name是通过getId和getName方法获取的, 否则前端不输出JSON信息.

Spring Initializr

Spring Initializr介绍

●Spring Initializr作用
1.程序员通过Maven Archetype 来生成Maven项目, 项目原型相对简陋, 需要手动配置, 但是比较灵活.

2.通过Spring官方提供的Spring Initializr来构建Maven项目, 能完美支持IDEA和`Eclipse, 让程序员来选择需要的开发场景(starter), 还能自动生成启动类和单元测试代码.

3.Spring InitializrIdea 版本有要求, 同时还要走国外网络, 我们还是习惯使用Maven Archetype来生成Maven项目. 但是作为知识点, 还是要介绍一下.

Spring Initializr使用演示

需求说明

使用Spring Initializr创建SpringBoot项目, 并支持web应用场景, 支持MyBatis.

方式1: IDEA创建

1.创建项目
在这里插入图片描述

2.选择 Spring Initializr. 如果没有看到这个选项, 需要安装Spring Initializr插件

在这里插入图片描述

3.项目设置

在这里插入图片描述

4.选择需要的开发场景

在这里插入图片描述

5.项目创建好后, 自动生成启动类和单元测试代码

在这里插入图片描述

在这里插入图片描述

方式2: start.spring.io创建

https://start.spring.io/

在这里插入图片描述

注意事项和说明

1.如果通过Spring Initializr创建项目, pom.xml爆红

在这里插入图片描述

2.解决方案: 指定版本和当前的springboot一致, 刷新maven即可解决

在这里插入图片描述

yaml语法

yaml介绍

●基本说明
1.YAML是"YAML Ain’t Markup Language"(YAML不是一种标记语言)的递归缩写. 在开发这种语言时, YAML的意思其实是: “Yet Another Markup Language”(仍是一种标记语言), 是为了强调这种语言以数据作为中心, 而不是以标记语言为重点, 而用反向缩略语重命名. 百度百科

●解读
1.YAML 以数据作为中心, 而不是以标记语言为重点.
2.YAML 仍然是一种标记语言, 但是和传统的标记语言不一样, 是以数据为中心的标记语言.
3.YAML 非常适合用来做以数据为中心的配置文件 [springboot: application.yml]

使用文档

官方文档: https://yaml.org/

yaml for java: https://www.cnblogs.com/strongmore/p/14219180.html

yaml基本语法

1.形式为 key: value, 注意: 后面有空格

2.区分大小写:

3.使用缩进表示层级关系

4.缩进不允许使用tab, 只允许空格 [有些地方也是别tab, 推荐使用空格]

5.缩进的空格数不重要, 只要相同层级的元素左对齐即可

6.字符串无需加引号

7.yaml中, 注释使用 #

数据类型

字面量

1.字面量: 单个的, 不可再分的值. date, boolean, string, number, null

2.number可以表示整数, 浮点数.

3.保存形式为key: value

对象

1.对象: 键值对的集合, 比如map, hash, object

行内写法: k: {k1: v1, k2: v2, k3: v3}
monster: {id: 100, name: 牛魔王}

换行形式:
k:
  k1: v1
  k2: v2
  k3: v3

monster:
  id: 100
  name: 牛魔王
  skill: 芭蕉扇


2.举例说明
在这里插入图片描述

数组

1.数组: 一组按次序排列的值, 比如 array, list, set, queue

行内写法: k: [v1, v2, v3]
hobby: [打篮球, 踢足球, 打羽毛球]

换行形式:
k:
  - v1
  - v2
  - v3

hobby:
  - 打篮球
  - 踢足球
  - 打羽毛球


2.举例说明

在这里插入图片描述

yaml应用实例

需求图解

需求: 使用yaml配置文件 和 JavaBean 进行数据绑定, 体会 yaml 使用方式

1.创建项目 configuration, 完成yaml的使用

在这里插入图片描述
2.运行效果

在这里插入图片描述

代码实现

1.创建一个新的 SpringBoot 项目 configuration, 我们这里用灵活配置的方式创建.

在这里插入图片描述

2.在pom.xml引入lombok, 并切换一下springboot版本

<!--导入springboot父工程-规定写法-->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.5.3</version>
</parent>

<dependencies>
    <!--导入web项目场景启动器, 会自动地导入和web开发相关的所有依赖[库/jar]-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!--引入lombok, 使用版本仲裁-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
</dependencies>

3.创建src/main/java/com/zzw/springboot/bean/Car.java.
小细节: 创建的bean需要在SpringBootApplication包或者其子包, 否则默认不会被扫描, 同时也不能完全使用lombok的相关简化注解.

@Data
public class Car {
    private String name;
    private double price;
}

4.创建src/main/java/com/zzw/springboot/bean/Monster.java

@Component
@Data
public class Monster {
    private Integer id;
    private String name;
    private Integer age;
    private Boolean isMarried;
    private Date birth;
    private Car car;
    private String[] skill;
    private List<String> hobby;
    private Map<String, Object> wife;
    private Set<Double> salaries;
    private Map<String, List<Car>> cars;
}

5.创建src/main/java/com/zzw/springboot/controller/HiController.java

@RestController
public class HiController {

    @Autowired
    private Monster monster;

    @RequestMapping("/monster")
    public Monster monster() {
        return monster;
    }
}

6.创建src/main/java/com/zzw/springboot/Application.java

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

7.启动项目, 进行测试. 为空, 说明还没有对数据进行配置绑定.

在这里插入图片描述

8.创建src/main/resources/application.yml, 演示各种写法. 提示: 编写application.yml 时, 这些Bean的字段是可以通过安装插件或jar自动提示的, 后面会学到, 现在先苦后甜.

monster:
  id: 100
  name: 牛魔王
  age: 200
  isMarried: true
  birth: 2000/10/15

9.配置Furn. 参考properties的配置绑定

@ConfigurationProperties(prefix = "monster")
public class Monster {}

10.重启,测试

在这里插入图片描述

11.完成后面数据的绑定

monster:
  id: 100
  name: 牛魔王
  age: 200
  isMarried: true
  birth: 2000/10/15
  #对象
#  car: {name: 奔驰, price: 120000} #行内风格
  car:
    name: 奔驰
    price: 160000 #换行风格
  #数组
#  skill: [芭蕉扇, 七十二变, 刀枪不入] #行内风格
  skill:
    - 芭蕉扇~
    - 七十二变~
    - 刀枪不入~ #换行风格
  hobby:
    - 喝酒
    - 吃肉
    - 陪老婆 #换行风格
  #map-属于对象
#  wife: {no1: 铁扇公主, no2: 狐狸精} #行内风格
  wife:
    no1: 铁扇公主
    no2: 狐狸精 #换行风格
  #set-属于对象
#  salaries: [10000, 20000, 30000] #行内风格
  salaries:
    - 10000
    - 20000
    - 30000 #换行风格
  cars: # 因为cars k-v v是List<Car> 所以我们使用换行风格
    group1:
      - {name: 奔驰, price: 120000}
      -  name: 奥迪
         price: 130000
    group2:
      - {name: 宝马, price: 110000}
      -  name: 兰博基尼
         price: 300000

注意事项和使用细节

1.如果application.propertiesapplication.yml 有相同的前缀值绑定, 则application.properties优先级高, 开发时, 应当避免.

在这里插入图片描述

2.字符串无需加引号, 如果你用" " 或者 ’ ’ 包起来, 也可以.

在这里插入图片描述

3.解决yamlproperties配置文件, 不提示字段信息问题

1)如图, 我们可以知道, 在编写application.yaml文件时, 不提示Monster的字段信息, 非常不方便

2)在pom.xml加入spring-boot-configuration-processor依赖, 可以从quickstart项目拷贝.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <!--
        这里我们配置optional为true
        说明: 表示防止将此依赖传递到其它模块
    -->
    <optional>true</optional>
</dependency>

3)对application.yml文件编辑, 就会提示字段. 提示: 输入你在Bean中配置的prefix, 就会提示

在这里插入图片描述
在这里插入图片描述

4)提示: 如果还没有提示, 可以安装一个yaml插件来搞定.

在这里插入图片描述

WEB开发-静态资源访问

官方文档

在线文档:

在这里插入图片描述

基本介绍

1.只要静态资源放在类路径下: /static, /public, /resources, /META-INF/resources 可以被直接访问 - 对应文件 WebProperties.java

private static final String[] CLASSPATH_RESOURCE_LOCATIONS = { “classpath:/META-INF/resources/”, “classpath:/resources/”, “classpath:/static/”, “classpath:/public/” };

2.常见静态资源: JS, CSS, 图片(.jpg, .png, .gif, .bmp, .svg), 字体文件(Fonts)等

3.访问方式: 默认: 项目根路径 / + 静态资源名, 比如 http://localhost:8080/1.jpg - 设置WebMvcProperties.java
private String staticPathPattern = “/**”;

在这里插入图片描述

快速入门

1.创建SpringBoot项目springbootweb, 这里使用灵活配置方式来创建项目, 参考springboot快速入门

2.创建相关静态资源目录, 并放入测试图片, 没有目录, 自己创建即可, 浏览器访问 http://localhost:8080/4.png , 完成测试.

在这里插入图片描述

注意事项和细节

1.静态资源访问原理: 静态映射是 /** , 也就是对所有请求拦截. 请求进来, 先看Controller能不能处理, 不能处理的请求交给静态资源处理器, 如果静态资源找不到则响应404页面.

在这里插入图片描述

2.改变静态资源访问前缀, 比如我们希望 http://localhost:8080/image/1.png 去请求静态资源.

应用场景: http://localhost:8080/1.png, 静态资源访问前缀和控制器请求路径冲突

在这里插入图片描述

被Controller拦截

在这里插入图片描述

解决方案:
1)创建src/main/resources/application.yml

spring:
  mvc:
    static-path-pattern: /image/**

2)启动, http://localhost:8080/image/1.png 测试

在这里插入图片描述

3.改变默认的静态资源路径, 比如希望在类路径下增加zzwimg目录 作为静态资源路径, 并完成测试.

1)如图所示
在这里插入图片描述

2)配置 application.yml, 增加路径

spring:
  mvc:
    static-path-pattern: /image/** #修改静态资源访问 路径/前缀
  web:
    resources:
      #修改/指定 静态资源的访问路径/位置
      static-locations: [classpath:/zzwimg/] #String[] staticLocations

在这里插入图片描述

3)测试, 浏览器输入 http://localhost:8080/image/6.png(没错, 是image/6.png, 不是image/zzwimg/6.png), 一定要保证工作目录target下 有 6.png, 如果没有, 请rebuild下项目, 再重启项目.

4)如果你配置 static-locations, 原来的访问路径就会被覆盖, 如果需要保留, 再指定一下即可.

  web:
    resources:
      #修改/指定 静态资源的访问路径/位置 String[] staticLocations
      static-locations: ["classpath:/zzwimg/", "classpath:/META-INF/resources/",
                         "classpath:/resources/", "classpath:/static/", "classpath:/public/"]

Rest风格请求处理

基本介绍

1.Rest风格支持 (使用HTTP请求方式来表示对资源的操作)

2.举例说明
请求方式: /monster
GET-获取妖怪
DELETE-删除妖怪
PUT-修改妖怪
POST-保存妖怪

应用实例

1.创建src/main/java/com/zzw/springboot/controller/MonsterController.java

@RestController
public class MonsterController {

    //等价的写法
    //@RequestMapping(value = "/monster", method= RequestMethod.GET)
    @GetMapping("/monster")
    public String getMonster() {
        return "GET-查询妖怪";
    }

    //等价写法
    //@RequestMapping(value = "/monster", method = RequestMethod.POST)
    @PostMapping("/monster")
    public String saveMonster() {
        return "POST-保存妖怪";
    }

    //等价写法
    @RequestMapping(value = "/monster", method = RequestMethod.PUT)
    @PutMapping("/monster")
    public String putMonster() {
        return "PUT-修改妖怪";
    }

    //等价写法
    @RequestMapping(value = "/monster", method = RequestMethod.DELETE)
    @DeleteMapping("/monster")
    public String deleteMonster() {
        return "DELETE-删除妖怪";
    }
}

2.使用Postman完成测试, 请求url: http://localhost:8080/monster

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意事项和细节

在SpringMVC中我们学过,SpringMVC系列四: Rest-优雅的url请求风格

1.客户端是Postman 可以直接发送 Put, Delete等方式请求, 可不设置Filter.

2.如果要SpringBoot支持 页面表单的Rest功能, 则需要注意如下细节

1)Rest风格请求核心Filter: HiddenHttpMethodFilter, 表单请求会被HiddenHttpMethodFilter拦截, 获取到表单_method的值, 再判断是PUT/DELETE/PATCH(注意: PATCH方法是新引入的, 是对PUT方法的补充, 用来对已知资源进行局部更新, PATCH和PUT方法的区别)

2)如果要SpringBoot支持 页面表单的Rest功能, 需要在application.yml启用filter功能, 否则无效.

3)修改application.yml, 启用filter功能

spring:
  mvc:
    static-path-pattern: /image/** #修改静态资源访问 路径/前缀
    hiddenmethod:
      filter:
        enabled: true #启动HiddenHttpMethodFilter, 支持rest

4)修改对应的页面, 然后测试.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>rest</title>
</head>
<body>
<h1>测试rest风格的url, 完成get请求</h1>
<form action="/monster" method="get">
  u: <input type="text" name="name"><br/>
  <input type="submit" value="点击提交">
</form>
<h1>测试rest风格的url, 完成post请求</h1>
<form action="/monster" method="post">
  u: <input type="text" name="name"><br/>
  <input type="submit" value="点击提交">
</form>
<h1>测试rest风格的url, 完成put请求</h1>
<form action="/monster" method="post">
    <!--通过隐藏域传递_method参数指定值-->
    <input type="hidden" name="_method" value="PUT">
  u: <input type="text" name="name"><br/>
  <input type="submit" value="点击提交">
</form>
<h1>测试rest风格的url, 完成delete请求</h1>
<form action="/monster" method="post">
    <input type="hidden" name="_method" value="delete">
  u: <input type="text" name="name"><br/>
  <input type="submit" value="点击提交">
</form>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1846234.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无线领夹麦克风哪款好,领夹麦克风哪个品牌好,多款麦克风推荐

​科技发展让无线领夹麦克风成为现代演讲、演出和采访不可或缺的工具。这种小巧便携的设备让我们摆脱线缆束缚&#xff0c;自由移动同时保持声音清晰稳定。无线领夹麦克风怎么选呢&#xff1f;接下来&#xff0c;我们介绍几款市面上综合表现相当不错的无线领夹麦克风给大家来参…

整合微信支付一篇就够了

需要的工具 微信开发小程序工具 需要的材料 关键步骤 postman获取微信access_token https://api.weixin.qq.com/cgi-bin/token?appid=wxfssafa629021&grant_type=client_credential&secret=701d213dsfsdfsfdss4fb274生成h5跳转小程序的链接 https://api.weixin.…

内容安全复习 3 - 深度学习基础

文章目录 深度学习概述神经网络简介损失函数反向传播 卷积神经网络什么是卷积神经网络卷积最大池化展平典型的神经网络结构 Transformer&#xff08;转换器、变压器&#xff1f;&#xff09;自注意力机制多头注意力机制 深度学习概述 前文提到深度学习分三步&#xff1a;神经网…

express+vue在线im实现【四】

往期内容 expressvue在线im实现【一】 expressvue在线im实现【二】 expressvue在线im实现【三】 本期示例 本期总结 支持了音频的录制和发送&#xff0c;如果觉得对你有用&#xff0c;还请点个免费的收藏与关注 下期安排 在线语音 具体实现 <template><kl-dial…

2025天津数控机床展(天津工业展)

2025第21届天津工博会—机床展 时间&#xff1a;2025年3月6-9日 地点&#xff1a;国家会展中心&#xff08;天津&#xff09; 达成交易&#xff0c;是我们唯一的追求&#xff01; Dealing Is Our Top Pursuit. 主办单位 振威会展集团 中国机械工业联合会 中国国际贸易促…

Vscode远程ubuntu

远程连接 到这里vscode远程到ubuntu和关闭远程连接&#xff0c;已完成 配置python环境 在远程目录下新建.vscode隐藏文件夹&#xff0c;文件夹里新建一个 settings.json 文件&#xff0c; 先远程服务器看下conda下的python虚拟环境位置 settings.json位置及内容如下 测试pyt…

【STM32-DAP 仿真器】

STM32-DAP 仿真器 ■ STM32-DAP仿真器介绍■ STM32-DAP仿真特点■ STM32-DAP仿真器实物图■ STM32-DAP高速 DAP 仿真器实物图■ STM32-DAP高速无线调试器 实物图■ STM32-DAP高速无线调试器示意图■ STM32-DAP高速无线调试器接线图■ STM32-DAP高速无线调试器接收端示意图 ■ S…

等保2.0对云计算有哪些特定的安全要求?

等保2.0针对云计算环境设定了特定的安全要求&#xff0c;这些要求是在原有的安全通用要求基础上的扩展&#xff0c;旨在确保云服务的安全性和合规性。以下是一些关键的云计算安全扩展要求&#xff1a; 1. 基础设施的位置&#xff1a;等保2.0要求云计算基础设施位于中国境内&am…

API低代码平台介绍5-数据库记录修改功能

数据库记录修改功能 在上篇文章中我们介绍了如何插入数据库记录&#xff0c;本篇文章会沿用上篇文章的测试数据&#xff0c;介绍如何使用ADI平台定义一个修改目标数据库记录的接口&#xff0c;包括 单主键单表修改、复合主键单表修改、多表修改&#xff08;整合前两者&#xff…

Java图形用户界面设计AWT事件处理

AWT事件处理 前言一、GUI事件处理机制定义使用步骤Swing事件处理机制与AWT的区别 二、GUI中常见事件和事件监听器事件低级事件高级事件 事件监听器AWT事件类的继承关系 三、事件适配器三、示例代码示例示例一示例二 示例三 前言 推荐一个网站给想要了解或者学习人工智能知识的…

Jmeter性能 之 “查看结果树” 界面功能介绍

前言 查看结果树 显示所有请求响应的树&#xff0c;通过它可以查看任何请求的响应。除了显示响应之外&#xff0c;还可以查看获取响应所花费的时间以及一些响应代码。需要通过"查看结果树"来查看服务器处理请求之后的返回结果&#xff0c;分析是否存在问题 注意&am…

算力服务先锋!和鲸科技入选《2024中国智算产业生态图谱》

2024 年 6 月 18 日&#xff0c;由科智咨询发起的《2024中国智算产业生态图谱》正式发布&#xff0c;依托 ModelWhale 构建的智算算力资源服务&#xff0c;以及深耕多年的 ModelWhale 数据科学协同平台优势&#xff0c;和鲸科技成功入选。 “智算时代”技术不断进步&#xff0c…

生产实习Day13 ---- 神经网络模型介绍

文章目录 传统的神经网络模型注意力机制的引入注意力机制的本质Encoder-Decoder 框架注意力机制在 Encoder-Decoder 中的应用Self-Attention 机制Transformer 模型注意力机制的优势总结 传统的神经网络模型 在深度学习中&#xff0c;传统的神经网络模型&#xff0c;如循环神经…

react学习——09react中props属性

1、基本使用 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><!-- 移动端适配--><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>1_props基…

【前端vue3】TypeScrip-基础类型和任意类型

安装TypeScript npm install typescript -g 运行tsc -v可查看当前版本 为了方便调试可以安装 先安装小满zs大神写的工具&#xff0c;可以切换下载源 npm i xmzs -g 安装成功后 使用mmp ls查看当前的源有哪些 使用 mmp use选择镜像源 切换成功后&#xff0c;安装TypeScrip…

【51单片机】按键的操作

文章目录 前言读取按键的原理proteus仿真示例代码 总结 前言 在现代电子产品中&#xff0c;按键是用户与设备之间交互的重要组成部分。它们允许用户通过简单的按下来触发特定的操作或命令。在微控制器的背景下&#xff0c;按键的设计和操作对于确保设备的响应性和用户体验至关…

「ClickHouse 极简教程」分布式下的 IN/JOIN 及 GLOBAL关键字

百度安全验证https://baijiahao.baidu.com/s?id1712073808973941124&wfrspider&forpc

NSSCTF-Web题目12

目录 [SWPUCTF 2021 新生赛]finalrce 1、题目 2、知识点 3、思路 [UUCTF 2022 新生赛]ez_rce 1、题目 2、知识点 3、思路 [羊城杯 2020]easycon 1、题目 2、知识点 3、思路 [SWPUCTF 2021 新生赛]finalrce 1、题目 2、知识点 命令执行&#xff0c;tee命令 3、思路…

springboot家乡特色推荐系统 LW +PPT+源码+讲解

3系统需求分析 3.1系统功能 通过前面的功能分析可以将家乡特色推荐系统的功能分为管理员和用户两个部分&#xff0c;系统的主要功能包括首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;文章分类管理&#xff0c;文章分享管理&#xff0c;系统管理等内容。任何用户…

五谷杂粮店铺小程序的作用是有什么

大米、面粉、荞麦、豆类等多种五谷杂粮商品可以说是必需&#xff0c;线下门店或摊位数量也不乏&#xff0c;但相比较流量较为固定且销售模式单一&#xff0c;想要进一步扩大生意效果却是不易。 线上是商家重点增长的场景&#xff0c;五谷杂粮商品自然也适合开展零售批发生意&a…