SpringBoot-黑马程序员-学习笔记(六)
目录
76.常用计量单位使用
77.bean属性校验
81.测试表现层
82.发送虚拟请求
94.springboot读写redis的客户端
100.ElasticSearch(简称ES) 一个分布式全文搜索引擎
76.常用计量单位使用
@Data
@Component
@ConfigurationProperties(prefix = "servers")
public class ServerConfig {private String ipAddress;private int port;private long timeout;@DurationUnit(ChronoUnit.HOURS)private Duration serverTimeOut;@DataSizeUnit(DataUnit.MEGABYTES)private DataSize dataSize;
}
这里的@DurationUnit(ChronoUnit.HOURS)注解表示崽yml文件中配置serverTimeOut的单位会自动设置为小时。
@DurationUnit(ChronoUnit.HOURS)
private Duration serverTimeOut;
而@DataSizeUnit(DataUnit.MEGABYTES)表示下面的dataSize在配置时,单位是MB

77.bean属性校验



81.测试表现层

这样测试类端口就会随机开启一个

82.发送虚拟请求
1.首先看到控制类,有这样一个books,用get访问到就会打印“is runnning”

2.测试类
先在@SpringBootTest
后面加属性(webEnvironment=SpringBootTest.WebEnvironment.RANDOM_PORT)
表示会随机模拟一个端口
然后写这样一个方法

参数是一个模拟的mvc对象
下面是固定语句。
这里可以选get,post,put等不同的方式

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@AutoConfigureMockMvc
public class Webtest {@Testvoid test(){}@Testpublic void testWeb(@Autowired MockMvc mvc) throws Exception {//创建虚拟请求,当前访问/booksMockHttpServletRequestBuilder builder = MockMvcRequestBuilders.get("/books");//执行请求ResultActions actions = mvc.perform(builder);}}
94.springboot读写redis的客户端
有RedisTemplate和StringRedisTemplate两种
前者是对对象进行读写,会对对象进行序列化
常用的是StringRedisTemplate
使用步骤:

100.ElasticSearch(简称ES) 一个分布式全文搜索引擎
通过一条数据中的某个字段来搜索,首先将该字段的值拆分为很多个小词,然后建立正排表,即每条数据对应哪些小词,然后根据这个正排表建立倒排索引,即每个小词对应在哪些行中出现过,以及该行的部分数据。
相关文章:
SpringBoot-黑马程序员-学习笔记(六)
目录 76.常用计量单位使用 77.bean属性校验 81.测试表现层 82.发送虚拟请求 94.springboot读写redis的客户端 100.ElasticSearch(简称ES) 一个分布式全文搜索引擎 76.常用计量单位使用 Data Component ConfigurationProperties(prefix "serve…...
unity2022版本 实现手机虚拟操作杆
简介 在许多移动游戏中,虚拟操纵杆是一个重要的用户界面元素,用于控制角色或物体的移动。本文将介绍如何在Unity中实现虚拟操纵杆,提供了一段用于移动控制的代码。我们将讨论不同类型的虚拟操纵杆,如固定和跟随,以及如…...
『GitHub Actions』部署静态博客指南
前言 之前博主是使用的 Jenkins 实现 vuepress 博客的自动部署与持续交付,但是因为现在迁移服务器到海外,并且服务器配置降低。现在经常出现服务器的 Jenkins 构建过程中 CPU 占用率过高,导致服务器卡死 然后我想的话既然只是部署静态博客&…...
WPF Datagrid Header数据绑定,表头复选框实现全选、全否、部分选中,根据条目动态变化
制作一个根表头为CheckBox可全选、全不选的列表,且可根据条目自动调整CheckBox的状态(选中、不选、部分选中)。 本来是想用DataGrid做一个CheckBox的列用于勾选其中的某些行,当时做出来之后想着添加一个全选、全否的功能。做两个…...
Tensorflow2 中对模型进行编译,不同loss函数的选择下输入数据格式需求变化
一、tf2中常用的损失函数介绍 在 TensorFlow 2 中,编译模型时可以选择不同的损失函数来定义模型的目标函数。不同的损失函数适用于不同的问题类型和模型架构。下面是几种常见的损失函数以及它们的作用和适用场景: 1.均方误差(Mean Squared …...
【python】基础语法(三)--异常、模块、包
异常 代码中出现的报错问题,可能会导致整个代码的停止,为了避免这种情况,有了捕获异常操作; 捕获异常 提前预知可能出错的代码,做好准备,避免因bug导致整个项目停止; try:可能出…...
XGBoost+LR融合
1、背景简介 xgboostlr模型融合方法用于分类或者回归的思想最早由facebook在广告ctr预测中提出,其论文Practical Lessons from Predicting Clicks on Ads at Facebook有对其进行阐述。在这篇论文中他们提出了一种将xgboost作为feature transform的方法。大概的思想…...
leetcode:1929. 数组串联(python3解法)
难度:简单 给你一个长度为 n 的整数数组 nums 。请你构建一个长度为 2n 的答案数组 ans ,数组下标 从 0 开始计数 ,对于所有 0 < i < n 的 i ,满足下述所有要求: ans[i] nums[i]ans[i n] nums[i] 具体而言&am…...
Epoch和episodes的区别
“Epoch” 和 “episode” 是两个不同的概念,通常在不同领域中使用。 Epoch(周期): Epoch 是一个在机器学习和深度学习中常用的术语,通常用于表示训练数据集中的一个完整遍历。在每个 epoch 中,整个训练数据…...
漏洞复现--华测监测预警系统2.2任意文件读取
免责声明: 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直…...
数据结构 - 6(优先级队列(堆)13000字详解)
一:堆 1.1 堆的基本概念 堆分为两种:大堆和小堆。它们之间的区别在于元素在堆中的排列顺序和访问方式。 大堆(Max Heap): 在大堆中,父节点的值比它的子节点的值要大。也就是说,堆的根节点是堆…...
Js高级技巧—拖放
拖放基本功能实现 拖放是一种非常流行的用户界面模式。它的概念很简单:点击某个对象,并按住鼠标按钮不放,将 鼠标移动到另一个区域,然后释放鼠标按钮将对象“放”在这里。拖放功能也流行到了 Web 上,成为 了一些更传统…...
ELF和静态链接:为什么程序无法同时在Linux和Windows下运行?
目录 疑问 编译、链接和装载:拆解程序执行 ELF 格式和链接:理解链接过程 小结 疑问 既然我们的程序最终都被变成了一条条机器码去执行,那为什么同一个程序,在同一台计算机上,在 Linux 下可以运行,而在…...
【爬虫实战】python微博热搜榜Top50
一.最终效果 二.项目代码 2.1 新建项目 本文使用scrapy分布式、多线程爬虫框架编写的高性能爬虫,因此新建、运行scrapy项目3步骤: 1.新建项目: scrapy startproject weibo_hot 2.新建 spider: scrapy genspider hot_search "weibo.com" 3…...
【网络基础】——传输层
目录 前言 传输层 端口号 端口号范围划分 知名端口号 进程与端口号的关系 netstat UDP协议 UDP协议位置 UDP协议格式 UDP协议特点 面向数据报 UDP缓冲区 UDP的使用注意事项 基于UDP的应用层协议 TCP协议 TCP简介 TCP协议格式 确认应答机制&#…...
删除字符串特定的字符(fF)C语言
代码: #include <stdio.h> void funDel(char *str) {int i, j;for (i j 0; str[i] ! \0; i)if (str[i] ! f && str[i] ! F)str[j] str[i];str[j] \0; }int main() {char str[100];printf("请输入一个字符串:");gets(str);pr…...
C++入门(1):命名空间,IO流 输入输出,缺省参数
一、命名空间 1.1 命名空间的作用: 避免标识符命名冲突 1.2 命名空间定义: 关键字:namespace namespace test {// 命名空间内可以定义变量/函数/类型int a 10;int Add(int x, int y){return x y;}struct Stack{int* a;int top;int …...
Go 语言面试题(三):并发编程
文章目录 Q1 无缓冲的 channel 和 有缓冲的 channel 的区别?Q2 什么是协程泄露(Goroutine Leak)?Q3 Go 可以限制运行时操作系统线程的数量吗? Q1 无缓冲的 channel 和 有缓冲的 channel 的区别? 对于无缓冲的 channel,…...
Linux - make命令 和 makefile
make命令和 makefile 如果之前用过 vim 的话,应该会对 vim 又爱又恨吧,刚开始使用感觉非常的别扭,因为这种编写代码的方式,和在 windows 当中用图形化界面的方式编写代码的方式差别是不是很大。当你把vim 用熟悉的之后࿰…...
FPGA复习(功耗)
减小功耗 就得减小电流 电流和CF有关( C: 电容(被门数目和布线长度影响) F:时钟频率) 方法大纲 减小功耗:1 时钟控制 2输入控制 3减小供电电压 4双沿触发器 5修改终端 同步数字电路降低动态功耗:动态禁止…...
Video-LLaMA部署指南:如何在本地服务器上高效运行多模态AI
Video-LLaMA部署指南:如何在本地服务器上高效运行多模态AI 【免费下载链接】Video-LLaMA [EMNLP 2023 Demo] Video-LLaMA: An Instruction-tuned Audio-Visual Language Model for Video Understanding 项目地址: https://gitcode.com/gh_mirrors/vi/Video-LLaMA …...
薛定谔共价对接实战:如何为你的靶点蛋白快速找到‘锁死’它的共价抑制剂?
薛定谔共价对接实战:靶点蛋白的共价抑制剂高效筛选策略 药物研发领域正经历一场静默革命——共价抑制剂从曾经的"危险分子"摇身变为现代药物设计的明星。与传统可逆抑制剂不同,共价抑制剂能与靶点蛋白形成稳定的共价键,实现近乎不可…...
IDEA全局替换不够用?试试这个Java脚本,精准处理多模块项目文件内容替换
IDEA全局替换不够用?试试这个Java脚本,精准处理多模块项目文件内容替换 在大型Java项目中,我们经常需要批量修改代码中的某些字符串或配置。虽然IntelliJ IDEA提供了"Replace in Path"功能,但在实际企业级开发中&#…...
RuoYi-Cloud微服务架构下PostgreSQL数据库迁移实战指南
1. 迁移前的准备工作 在开始将RuoYi-Cloud从MySQL迁移到PostgreSQL之前,我们需要做好充分的准备工作。这就像搬家前要打包物品一样,准备工作做得好,后续的迁移过程就会顺利很多。 首先,我们需要了解PostgreSQL和MySQL之间的主要差…...
跨平台工具链部署指南:Rust工具集多系统安装与配置实践
跨平台工具链部署指南:Rust工具集多系统安装与配置实践 【免费下载链接】coreutils 跨平台的 Rust 重写 GNU 核心工具集。 项目地址: https://gitcode.com/GitHub_Trending/co/coreutils 基础安装篇:三步完成跨平台部署 零依赖极速部署ÿ…...
Spark 4.0 新特性Python Data Source API 快速上手
1. 什么是 Python Data Source API Python Data Source API 是 Spark 4.0 引入的新能力,它允许开发者在 Python 中直接实现自定义数据源和数据写出逻辑。换句话说,你可以像实现一个插件一样,为 Spark 增加新的读取来源和写出目标,…...
FanControl实战指南:从噪音困扰到智能散热的转型之路
FanControl实战指南:从噪音困扰到智能散热的转型之路 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/…...
告别OpenAI依赖:用智谱AI与轻量本地模型构建RAG评估实战
1. 为什么需要替代OpenAI的RAG评估方案 当我们在构建RAG(检索增强生成)系统时,评估环节至关重要。传统的Ragas框架默认使用OpenAI的GPT模型进行评估,但这会带来几个实际问题: 首先是访问稳定性问题。由于网络环境差异…...
OpenClaw自动化测试实践:GLM-4.7-Flash驱动脚本执行与结果分析
OpenClaw自动化测试实践:GLM-4.7-Flash驱动脚本执行与结果分析 1. 为什么选择OpenClaw做测试自动化? 上个月接手一个新项目时,我遇到了一个典型的技术矛盾:作为独立开发者,既需要保证代码质量,又没精力手…...
如何高效管理微信读书笔记:终极免费工具wereader完全指南
如何高效管理微信读书笔记:终极免费工具wereader完全指南 【免费下载链接】wereader 一个功能全面的微信读书笔记助手 wereader 项目地址: https://gitcode.com/gh_mirrors/we/wereader 微信读书助手wereader是一款专为微信读书用户设计的免费开源工具&#…...
