第二章 Springboot进阶部分笔记

2023-11-02

一、集成Redis

1、修改pom文件,增加依赖

<!-- redis -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

2、在properties增加redis配置

# REDIS (RedisProperties)
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=192.168.30.156
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=12345678
# 连接超时时间(毫秒)
spring.redis.timeout=5000

3、新建单元测试

/**
 * 测试连接redis(连接地址为虚拟机redis服务,需要手动开启)
 */
@SpringBootTest(classes = {App.class})
@RunWith(SpringRunner.class)
public class SpringRedisTest {
    @Resource
    private RedisTemplate<String,String> redisTemplate;
    @Test
    public void testRedis() throws Exception {
        ValueOperations<String, String> ops = redisTemplate.opsForValue();
        ops.set("name", "hankin1117");
        String value = ops.get("name");
        System.out.println(value);
    }
}

二、集成RabbitMQ

RabbitMQ在后面SpringCloud的章节还会用到,在这会简单的安装使用下RabbitMq,至于RabbitMQ的详细使用请参考分布式消息队列课题。

1、Windows安装RabbitMQ

先安装Erlang,下载地址:http://erlang.org/download/otp_win64_20.3.exe

RabbitMQ Server 3.7.4下载地址:

https://bintray.com/rabbitmq/all/download_file?file_path=rabbitmq-server%2F3.7.4%2Frabbitmq-server-3.7.4.exe

安装好后,启动服务:

开启web插件,进入rabbitmq安装目录的sbin目录,在命令行界面开启web插件:

./rabbitmq-plugins enable rabbitmq_management

 

重新启动reabbitmq服务,在地址栏输入http://localhost:15672/

使用默认用户 guest/guest登陆界面

2、新增用户,并设置权限

用新创建的admin用户登陆,发现新用户已经新增成功,设置权限:

 

点击这用户,设置虚拟主机的权限(全部可读,可写,可配置)

 

 

这个时候一个admin新用户设置完毕

3、SpringBoot中使用RabbitMQ

1)修改pom文件,增加rabbitmq依赖:

<!--  增加rabbitmq依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

2)修改配置properties文件,增加rabbitmq的连接信息

## rabbitmq config
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=admin
spring.rabbitmq.password=admin

3)创建Rabbit配置类,用来配置队列,交换器,路由等高级信息

@Configuration
public class RabbitConfig {
    @Bean
    public Queue firstQueue() {
        // 创建一个队列,名称为:hankin
        return new Queue("hankin");
    }
}

4)创建消息的生产者:

@Component
public class Sender {
    @Resource
    private AmqpTemplate rabbitTemplate;
    public void send() {
        rabbitTemplate.convertAndSend("hankin","this is a message!");
    }
}

5)创建消息的消费者

@Component
@RabbitListener(queues = "hankin") //TODO 定义该类需要监听的队列
public class Receiver {
    // 指定对消息的处理
    @RabbitHandler
    public void process(String msg) {
        System.out.println("receive msg : " + msg);
    }
}

6)新增单元测试

@RunWith(SpringRunner.class)
@SpringBootTest(classes = App.class)
public class RabbitmqTest {
    @Resource
    private Sender sender;
    @Test
    public void testRabbitmq() throws Exception {
        sender.send();
    }
}

 

三、Actuator监控管理

Actuator是spring boot的一个附加功能,可帮助你在应用程序生产环境时监视和管理应用程序;可以使用HTTP的各种请求来监管、审计、收集应用的运行情况,特别对于微服务管理十分有意义。

缺点:没有可视化界面(Spring cloud还会用到这功能,就可以看到界面了)

1、修改pom文件,添加依赖:

<!--  Actuator监控管理 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

2、修改application.properties文件,启动监控端点

# 加载所有的端点/默认只加载了 info / health
management.endpoints.web.exposure.include=*
# 描述信息
info.blog-url=https://blog.csdn.net/m0_37661458
info.author=hankin
info.version=@project.version@

重新启动,在地址栏输入:http://localhost:8080/actuator/info,在界面看到这说明监控成功

 

Actuator访问路径通过actuator/+端点名就可以获取相应的信息。

路径

作用

/actuator/beans

显示应用程序中所有Spring bean的完整列表。

/actuator/configprops

显示所有配置信息。

/actuator/env

陈列所有的环境变量。

/actuator/mappings

显示所有@RequestMapping的url整理列表。

/actuator/health

显示应用程序运行状况信息 up表示成功 down失败

/actuator/info

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第二章 Springboot进阶部分笔记 的相关文章

  • 农作物地块范围识别(图像分割)

    来源 机器学习AI算法工程 知乎 Now more 本文约5500字 建议阅读15分钟本文为你介绍 以薏仁米作物识别以及产量预测为比赛命题 及对对应获奖的开发算法模型 农作物的资产盘点与精准产量预测是实现农业精细化管理的核心环节 当前 我国
  • Unity实现全景图

    1 前言 实现全景查看有两种方式 一种是创建天空盒 另外一种是全景图渲染到一个球形上 从内球内部看 两者都可以用天空盒材质Skybox实现 2 创建天空盒材质 先创建一个材质球命名为Sky 在 Shader 下拉选单中 单击 Skybox
  • 【JavaScript 逆向】521 加速乐多层响应 Cookie 逆向

    前言 现在一些网站对 JavaScript 代码采取了一定的保护措施 比如变量名混淆 执行逻辑混淆 反调试 核心逻辑加密等 有的还对数据接口进行了加密 这次的案例是对加速乐 AAEncode OB 混淆方式的破解 声明 本文章中所有内容仅供
  • Hadoop使用

    1 常用命令 1 namenode格式化 hdfs namenode format 2 启动历史服务器 mapred daemon start historyserver 或者mr jobhistory daemon sh stop his
  • Git仓库版本的回退/前进

    前言 版本库做为一个可迭代更新的仓库 不可能只是单纯提供版本更新操作 其最重要的还是提供了历史版本回滚功能 在使用版本回滚功能前 我们会使用一系列的辅助查询命令 比如查看版本信息 仓库状态能命令 辅助是否需要进行回滚操作 一 查看版本信息
  • 运算放大器的应用(一)放大器

    在硬件电路设计中 运算放大器的应用非常广泛 今天来记录一下作为放大器的应用和公式推导 放大器典型电路 根据放大器基本原理 虚短 特性可知 U0 U1 根据 虚断 特性可知 U1点电流近似为0 则流过R1的电流等于流过R2的电流 根据欧姆定律
  • Photoshop 2023 Beta 内置Ai绘图功能介绍&安装教程

    距离Adobe软件公司首次将图像编辑及数字绘画软件Photoshop推出到大众面前已经过去35年 最近该公司又再次书写了属于Photoshop的历史新篇章 最近 Adobe 宣布 Photoshop Beta 迎来更新 新增 创意填充 Ge
  • linux下使用selenium

    1 需要linux安装chrome浏览器 安装命令 yum localinstall google chrome stable current x86 64 rpm 2 得的谷歌浏览器版本号 根据版本号选择最接近的内核版本 linux命令
  • 反射获取类的成员变量值

    public class ClassFieldTest public ClassFieldTest List
  • machine unlearning 论文阅读笔记

    文章目录 前言 概要 导论 unlearning 定义 SISA 系统 时间复杂度 实验测试 总结 前言 做一篇发表在顶会S P 4 2 n d 42 nd
  • Connection reset by peer

    今天升级完openssh8 6以后突然发现无法连接服务器了 注意前提是升级成功了 连接时报错如下 Connection reset by peer 解决方案 使用root执行命令 echo sshd ALL gt gt etc hosts
  • 【mcuclub】水流量检测模块-YF-S401

    一 实物图 型号 YF S401 二 原理图 编号 名称 功能 1 VCC 电源正 红色线 2 GND 电源地 黑色线 3 OUT 输出引脚 黄色线 三 简介 水流量传感器主要由塑料阀体 水流转子组件和霍尔传感器组成 它装在电器的进水端 用
  • JVM--调优--03--开发配置

    JVM 调优 03 开发配置 1 本地配置 Xmx1g Xms1g Xmn900m XX UseG1GC Xloggc gc log XX PrintGCDetails 2 linux tomcat 配置 进入tomcat的bin目录 修改
  • 软工作业 双人项目代码规范

    双人项目代码编写规范 蔡东杰 房林尧 以下共分为四个部分 缩进代码 命名规则 代码注释 异常处理 部分规范已做实例说明 后续编代码时需要严格遵守 一 关于缩进代码 一行里面只写一行代码 包括定义变量 一行只定义一个 左括号和后一个字符之间不
  • Java分支和循环语句及方法的使用

    1 分支语句No3 顺序语句 分支语句 循环语句 1 1 分支语句 选择结构 分支语句满足某种条件则执行某一部分 满足另一种条件则执行另一部分 1 2 if语句 简单分支语句 if boolean类型表达式 语句 如果小括号中的表达式成立
  • STM32中断知识点简介

    中断服务函数存放路径为启动文件 startup stm32f10x hd 1 常用的中断服务函数 外部中断服务函数 EXTI0 IRQHandler EXTI0 IRQn EXTI1 IRQHandler EXTI1 IRQn EXTI2

随机推荐

  • jenkins默认会存放目录

    jenkins默认会存放在用户主目录下的 jenkins文件夹中 如 Linux root用户 root jenkins 注意 这是linux版本的 windows系统请自行更改 这个值在Jenkins运行时是不能更改的 请先将Jenkin
  • 自定义coco数据集

    1 环境 anaconda环境安装配置 2 工具 安装labelme工具 3 安装软件 3 1 打开anaconda控制台 3 2 创建虚拟环境 conda create n labelme python 3 7 3 3 激活环境 cond
  • 函数调用栈

    函数调用栈 我们在编程中写的函数 会被编译器编译为机器指令 写入可执行文件 程序执行的时候 会把这个可执行文件加载到内存 在虚拟地址空间中的代码段存放 如果在一个函数中调用另一个函数 编译器就会对应生成一条call指令 当程序执行到这条ca
  • 不使用mybatis的@Param有的报错有的却不报错问题

    前几天更换电脑重新安装新的idea发现在dao层 有的同事没有使用 Param注解 导致系统报错 错误如下 org mybatis spring MyBatisSystemException nested exception is org
  • 显示实例化和显示具体化

    struct man int age double salary 显示具体化 指定模板函数中类型 意思是不要使用swap模板来生成函数定义 而是要使用专门为job类型显示定义的函数定义 因为job是一个结构体 所以swap不可能是直接的利用
  • Flutter的Stepper

    文章目录 Flutter的Stepper的简介 Stepper的详细介绍 使用方法 导入flutter material dart包 创建状态变量 创建Stepper 创建一个Step widget列表 典型用法 Step对象的创建 例子
  • 2023 1.2 Scala变量与数据类型

    学习目标 学会变量声明 掌握数据类型 初学Scala时 建议读者在Scala命令行模式中操作 最终程序的编写可以在IDE中进行 在Windows的CMD窗口中或CentOS的Shell命令中执行scala命令 即可进入Scala的命令行操作
  • uni-app列表组件 list组件,简单好用通用

    随着技术的发展 开发的复杂度也越来越高 传统开发方式将一个系统做成了整块应用 经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改 造成牵一发而动全身 通过组件化开发 可以有效实现单独开发 单独维护 而且他们之间可以
  • Dockerfile 中 配置安装 php 扩展

    我的个人博客 逐步前行STEP 以下配置实现了 在docker环境中安装scwl中文分词的php扩展 scwl RUN curl http www xunsearch com scws down scws 1 2 3 tar bz2 o s
  • 管理回收站+启用/禁用回收站+查看回收站信息+清空回收站对象

    管理回收站 1启用 禁用回收站 1 关闭回收站 alter session set recyclebin off show parameter recyclebin 2 启用回收站 alter session set recyclebin
  • Mockito 的 MockMvc:零基础教程

    Mockito 的 MockMvc 零基础教程 大家好 今天 我们将一起学习 Mockito 的 MockMvc 在这篇零基础教程中 我们将介绍 MockMvc 的概念 应用场景 快速上手方法 常用特性 注意事项以及原理概述 让我们以轻松幽
  • 【手把手教你用Matlab做双目摄像头标定】Ubuntu环境

    手把手教你用Matlab做双目摄像头标定 Ubuntu20 04环境 准备工作 你需要一个标定板 你需要一个双目摄像头 获取双目摄像头的设备号 跑起来看看 分割图像并完成拍照 使用Matlab进行标定 准备工作 你需要一个标定板 一个高精度
  • gcc warning: warning: 'tick' may be used uninitialized in this function

    是因为没有初始化tick 详见 http blog csdn net max415 archive 2008 05 17 2454165 aspx
  • 152. Maximum Product Subarray dynamic programming

    Find the contiguous subarray within an array containing at least one number which has the largest product For example gi
  • Linux——操作文件的底层系统调用,探究父子进程是否可以共享文件

    linux操作系统奉行一切皆文件的理念 所有文件设备几乎都可以用一套系统调用即open close write read 等来操作 系统调用和C库调用操作文件类似 Linux自带的man手册是最权威的 通过查看man手册来查看系统调用用法
  • fabric 学习笔记

    Fabric 的学习 定义 Fabric provides a missing object model forcanvas as well as an SVG parser layer of interactivity and a who
  • conda和pip查看、配置源

    目录 conda查看 配置源 pip查看 配置源 conda查看 配置源 国内conda源 源 地址 清华大学 conda config add channels https mirrors tuna tsinghua edu cn ana
  • python socket ssl编程

    http blog csdn net hongqun article details 6833412 首先 使用如下命令生成证书和key openssl req new x509 days 365 nodes out cert pem ke
  • 从键盘上输入一个3*3的矩阵,并求其主对角线元素的和。

    include
  • 第二章 Springboot进阶部分笔记

    一 集成Redis 1 修改pom文件 增加依赖