- 博客(26)
- 收藏
- 关注
原创 RabbitMQ
基本消息队列的消息发送流程:建立connection创建channel利用channel声明队列利用channel向队列发送消息基本消息队列的消息接收流程:建立connection创建channel利用channel声明队列定义consumer的消费行为handleDelivery()利用channel将消费者与队列绑定多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量交换机的作用是什么?接收publisher发送的消息。
2023-10-15 13:39:06 124
原创 Gateway服务网关
过滤器的作用是什么?① 对路由的请求或响应做加工处理,比如添加请求头② 配置在路由下的过滤器只对当前路由的请求生效defaultFilters的作用是什么?① 对所有路由都生效的过滤器需求:定义全局过滤器,拦截请求,判断请求的参数是否满足下面条件:参数中是否有authorization,authorization参数值是否为admin如果同时满足则放行,否则拦截实现:import org。
2023-10-13 12:21:51 123
原创 Feign远程调用
类型作用说明修改日志级别包含四种不同的级别:NONE、BASIC、HEADERS、FULL响应结果的解析器http远程调用的结果做解析,例如解析json字符串为java对象请求参数编码将请求参数编码,便于通过http请求发送支持的注解格式默认是SpringMVC的注解失败重试机制请求失败的重试机制,默认是没有,不过会使用Ribbon的重试一般情况下,默认值就能满足我们使用,如果要自定义时,只需要创建自定义的@Bean覆盖默认Bean即可。下面以日志为例来演示如何自定义配置。
2023-10-12 20:57:59 121
原创 Spring Cache
Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。EHCacheCaffeineRedis(常用)
2023-09-27 17:03:58 39
原创 idea连接微信小程序 — 微信登录操作流程
sky:wechat:sky:wechat:sky:jwt:# 设置jwt签名加密时使用的秘钥# 设置jwt过期时间# 设置前端传递过来的令牌名称。
2023-09-27 16:48:30 2503
原创 HttpClient
HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。发送HTTP请求接收响应数据当我们在使用扫描支付、查看地图、获取验证码、查看天气等功能时其实,应用程序本身并未实现这些功能,都是在应用程序里访问提供这些功能的服务,访问这些服务需要发送HTTP请求,并且接收响应数据,可通过HttpClient来实现。
2023-09-27 13:30:37 48 1
原创 idea中Spring Data Redis使用方式
Spring Data Redis 是 Spring 的一部分,提供了在 Spring 应用中通过简单的配置就可以访问 Redis 服务,对 Redis 底层开发包进行了高度封装。在 Spring 项目中,可以使用Spring Data Redis来简化 Redis 操作。网址:https://spring.io/projects/spring-data-redis。
2023-09-27 12:08:16 205 1
原创 1. 冒泡排序:
冒泡排序:public class A01_BubbleDemo { public static void main(String[] args) { /** 冒泡排序: 核心思想: 1,相邻的元素两两比较,大的放右边,小的放左边。 2,第一轮比较完毕之后,最大值就已经确定,第二轮可以少循环一次,后面以此类推。 3,如果数组中有n个数据,总共我们只要执行n-1轮的代码就可以。
2023-09-22 23:27:55 39 1
原创 JwtUtil是一个用于生成和解析JWT(JSON Web Token)的工具类
【代码】JwtUtil是一个用于生成和解析JWT(JSON Web Token)的工具类。
2023-09-22 23:25:16 709 1
原创 对象映射器:基于jackson将Java对象转为json,或者将json转为Java对象
【代码】对象映射器:基于jackson将Java对象转为json,或者将json转为Java对象。
2023-09-22 23:17:34 83 1
原创 ## YL-2-3.拦截器开发
到此当前案例全部完成,自定义stater的开发其实在第一轮开发中就已经完成了,就是创建独立模块导出独立功能,需要使用的位置导入对应的starter即可。如果是在企业中开发,记得不仅需要将开发完成的starter模块install到自己的本地仓库中,开发完毕后还要deploy到私服上,否则别人就无法使用了。此处拦截所有请求,用户可以根据使用需要设置要拦截的请求。 在web程序端导入对应的starter后功能开启,去掉坐标后功能消失,实现自定义starter的效果。
2023-07-30 21:17:55 62 1
原创 YL-2-2.使用属性配置设置定时器参数
如果此处不设置bean的访问名称,spring会使用自己的命名生成器生成bean的长名称,无法实现属性的读取。
2023-07-30 21:17:10 52 1
原创 YL-2-1.使用属性配置设置功能参数
设置3个属性,分别用来控制显示周期(cycle),阶段数据是否清空(cycleReset),数据显示格式(model)由于当前报表显示的信息格式固定,为提高报表信息显示的灵活性,需要通过yml文件设置参数,控制报表的显示格式。 为防止项目组定义的参数种类过多,产生冲突,通常设置属性前缀会至少使用两级属性作为前缀进行区分。 在应用配置属性的功能类中,使用自动装配加载对应的配置bean,然后使用配置信息做分支处理。 注意:清除数据的功能一定要在输出后运行,否则每次查阅的数据均为空白数据。
2023-07-30 21:14:20 67 1
原创 # YL-2.自定义starter开发
本功能最终要实现的效果是在现有的项目中导入一个starter,对应的功能就添加上了,删除掉对应的starter,功能就消失了,要求功能要与原始项目完全解耦。因此需要开发一个独立的模块,制作对应功能。步骤一:创建全新的模块,定义业务功能类 功能类的制作并不复杂,定义一个业务类,声明一个Map对象,用于记录ip访问次数,key是ip地址,value是访问次数 有些小伙伴可能会有疑问,不设置成静态的,如何在每次请求时进行数据共享呢?
2023-07-30 21:08:19 51 1
原创 Spring Boot Admin--可视化监控平台
我们做的程序如果需要被监控,将我们做的程序制作成客户端,然后配置服务端地址后,服务端就可以通过HTTP请求的方式从客户端获取对应的信息,并通过UI界面展示对应信息。所以你看到的信息基本上就没什么内容了,只能看到一个内容,就是下面的健康信息。然后就有好心的同志根据监控的总思想,制作了一个通用性很强的监控系统,因为是基于springboot监控的核心思想制作的,所以这个程序被命名为。 以上界面中展示的信息量就非常大了,包含了13组信息,有性能指标监控,加载的bean列表,加载的系统属性,日志的显示控制等等。
2023-07-30 20:44:59 138 1
原创 springboot整合第三方技术-邮件系统
我们制作程序中操作邮件,通常是发邮件,所以SMTP是使用的重点,收邮件大部分都是通过邮件客户端完成,所以开发收邮件的代码极少。所以说,好奇怪的需求,因为要想收邮件就要规范发邮件的人的书写格式,这个未免有点强人所难,并且极易收到外部攻击,你不可能使用白名单来收邮件。其实不多,差别不大,只是还个格式而已。 java程序仅用于发送邮件,邮件的功能还是邮件供应商提供的,所以这里是用别人的邮件服务,要配置对应信息。 host配置的是提供邮件服务的主机协议,当前程序仅用于发送邮件,因此配置的是smtp的协议。
2023-07-30 20:32:37 64 1
原创 springboot整合定时任务(Task)
}这就完成了定时任务的配置。总体感觉其实什么东西都没少,只不过没有将所有的信息都抽取成bean,而是直接使用注解绑定定时执行任务的事情而已。
2023-07-30 20:27:36 142 1
原创 SpringBoot整合Memcached缓存
yaml格式memcached:memcached安装后需要启动对应服务才可以对外提供缓存功能,安装memcached服务需要基于windows系统管理员权限(这个去网上找教程吧由于springboot没有提供对memcached的缓存整合方案,需要采用手工编码的形式创建xmemcached客户端操作缓存导入xmemcached坐标后,创建memcached配置类,注册MemcachedClient对应的bean,用于操作缓存。
2023-07-30 20:14:41 120 1
原创 用于生成短信验证码和从缓存中获取验证码
/2.然后,定义一个加密值 encryption,并将哈希值与加密值进行异或操作得到第一次加密结果。//get 方法使用 @Cacheable 注解,将从缓存中获取验证码的逻辑添加到方法中。//5.将第二次加密结果取模 1000000 得到一个六位数的验证码。//名为 CodeUtils 的组件类,用于生成短信验证码和从缓存中获取验证码。//如果缓存中存在与键 tele 对应的值,则直接返回该值。//如果缓存中不存在对应的值,则返回 null。//7.返回生成的验证码。//使用 tele 作为缓存的键。
2023-07-26 12:00:31 191 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人