
技术积累
文章平均质量分 79
学习
蜗牛+火箭
坚持积累
展开
-
日常记录-springboot整合用户操作日志AOP
Target(ElementType.METHOD)//注解放置的目标位置即方法级别@Retention(RetentionPolicy.RUNTIME)//注解在哪个阶段执行// 操作模块,比如:用户模块 - 登录// 操作类型 新增、删除等// 操作说明。原创 2023-10-30 17:30:58 · 293 阅读 · 0 评论 -
第一节:Idea父子项目创建
ArtifactID定义了一个maven项目在组中的唯一id:假如我为我的study-demo项目写了一个专属的公共包,那么我定义这个公共包的ArtifactId时可以这样写:study-demo。:比如com.baidu.项目名 或 com.gzgs.项目名。项目所属组织的唯一标识符,对应项目中java的包结构(main目录里java的目录结构)。指定项目当前的版本,SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本。项目的唯一标识符,对应项目的名字,是项目根目录的名称。原创 2023-07-03 11:57:23 · 2142 阅读 · 0 评论 -
第二节:springboot整合Mybatis(入门)
Lombok项目是一个java库,它可以自动插入到编辑器和构建工具中,增强java的性能。不需要再写getter、setter或equals方法,只要有一个注解,就有一个功能齐全的构建器、自动记录变量等等。File —> Settings —> Plugins —> 搜索Lombok。ps:user表自己创建,这里就不贴出来了。原创 2023-07-04 14:31:05 · 297 阅读 · 0 评论 -
第三节:springboot整合Mybatis(mapper的@Select)
【代码】第三节:springboot整合Mybatis(mapper的@Select)原创 2023-07-04 15:35:25 · 1467 阅读 · 0 评论 -
第四节:springboot整合Mybatis(controller+service+mapper)完整过程
【代码】第四节:springboot整合Mybatis(controller+service+mapper)完整过程。原创 2023-07-04 17:17:54 · 1067 阅读 · 0 评论 -
第五节:springboot整合Mybatis(声明式事务@Transactional)
首先在UserServiceImpl新增transactionalTest1()方法,模拟查询,因为加了在方法上@Transactional(readOnly=true),所以两次的结果会一样,不会因为在查询的过程中查询数据导致结果不一致。在test目录上写测试用例模拟,先执行TransactionalTests1()测试用例,因为会睡眠20秒,所以在这期间再执行saveUser()测试用例,新增一条数据。描述:当前事务是否为只读事务,设置为true表示只读,false则表示可读写,默认值为false。原创 2023-07-05 12:02:07 · 1915 阅读 · 0 评论 -
第六节:springboot整合Mybatis(统一全局返回格式与处理系统异常)
项目目录结构定义(目录结构定义看你自己)SUCCESS(200 , "成功") , SYSTEM_ERROR(500 , "系统异常") , NOT_FOUND(404 , "未找到该资源");return msg;} }//状态码 private int code;//返回数据 private T data;//结果信息 private String message;//时间字符串 private String time;原创 2023-07-06 16:56:10 · 142 阅读 · 0 评论 -
日常记录-java线程池+编程式事务
java线程池、编程式事务原创 2023-07-06 10:12:44 · 259 阅读 · 0 评论 -
日常记录-自定义List的类型转换方法
【代码】日常记录-自定义List的类型转换方法。原创 2023-07-06 17:31:44 · 343 阅读 · 0 评论 -
日常记录-Docker安装elasticsearch
官方容器使用技巧中的一条。当容器被rm掉,容器里的数据将会丢失。为了避免数据丢失,用户可以使用数据卷挂载来存储数据。进去elasticsearch-head-maste目录安装node_module。#拉取镜像的时候,可以指定版本,如果不指定,默认使用latest。#docker exec -it 容器名称 bash。elasticsearch-head端口是9100。不要将数据储存在容器中,这也是 Docker。这就是为什么要创建下面的文件目录的原因。最后执行exit,不然无法在后台运行。原创 2023-07-13 14:23:42 · 647 阅读 · 0 评论 -
日常记录-SpringBoot整合netty-socketio
SpringBoot整合netty-socketio一、准备工作1、maven依赖2、socketIO的yml配置3、socketIO的config代码4、SocketIOServer启动或关闭5、项目目录结构二、客户端和服务端建立连接1、服务端1.1 用户缓存信息ClientCache1.2 SocketIOServerHandler2、客户端3、简单的演示三、广播1、SocketIO基础概念图2、定义namespace3、创建namespace所属的Handler3.1 自定义Handler3.2 监听原创 2023-07-27 14:48:31 · 10574 阅读 · 16 评论 -
日常记录-SpringBoot整合SpringSecurity(前后分离)+JWT+Redis
SpringBoot整合SpringSecurity一、搭建项目1、构建springboot项目2、导入依赖3、配置yml4、启动项目二、建立相关用户角色权限表1、创建数据库的字符集和排序规则2、用户表结构3、权限表结构4、用户与权限关联表结构5、插入测试数据三、创建实体类和Mapper1、SysUser2、SysPermission3、SysUserPermissionRelation4、配置@MapperScan四、Redis配置1、RedisConfig2、RedisUtil五、统一全局返回格式与处理原创 2023-09-04 11:46:26 · 3832 阅读 · 6 评论 -
日常记录-SpringBoot整合RabbitMQ第一节(入门)
参考以下博主的文章我这里只会记录如何整合SpringBoot,安装和部署的具体详情可以看上面这位博主写的文章。原创 2023-08-02 18:19:53 · 218 阅读 · 0 评论 -
日常记录-SpringBoot整合RabbitMQ第二节(交换机队列消息持久化)
我们一定要保证交换机、队列和消息是持久化的,不然重启MQ或其他情况下会丢失,除非你认为要发送的消息真的不重要,就算丢失了也无所谓。前面有说过交换机的几种类型,我下面拿fanout类型的交换机做例子。点进去创建交换机的源码查看,交换机默认就是持久化。原创 2023-08-04 17:04:22 · 189 阅读 · 0 评论 -
日常记录-SpringBoot整合RabbitMQ第三节(生产者ConfirmCallback和ReturnCallback)
参考以下博主的文章我这里只会记录如何整合SpringBoot,安装和部署的具体详情可以看上面这位博主写的文章。原创 2023-08-04 16:12:59 · 1427 阅读 · 0 评论 -
日常记录-SpringBoot整合RabbitMQ第四节(消费者确认)
如果出现异常,就给RabbitMQ返回nack消费失败。实际开发中,比较优雅的一个方案是RepublishMessageRecoverer,将失败消息重新投递到一个专门用于存储异常消息的队列中,等待后续人工处理。开发人员在处理完业务后,调用RabbitMQ封装好的API,向RabbitMQ返回ack确认消费成功或者消费失败。在刚刚的本地重试中,在达到最大次数后,消息会被丢弃,这是Spring内部机制决定的。这样就实现了异常消息重试耗尽后,就会投递到指定的异常队列中去,等待人工处理了。原创 2023-08-07 11:04:22 · 1159 阅读 · 0 评论 -
日常记录-SpringBoot整合RabbitMQ第五节(死信)
消息 TTL 过期;队列达到最大长度(队列满了,无法再添加数据到 RabbitMQ中);消息被拒绝(basic.reject 或 basic.nack)并且消息设置 requeue=false(不再重新入队);默认情况下,死信会直接丢弃//死信交换机和死信队列也是普通的交换机和队列 @Configuration public class DeadQueueConfig {//定义死信交换机 @Bean public DirectExchange retryExchange() {原创 2023-08-07 16:13:50 · 311 阅读 · 0 评论 -
日常记录-SpringBoot整合RabbitMQ第六节(惰性队列)
要设置一个队列为惰性队列,只需要在声明队列时,指定x-queue-mode属性为lazy即可。可以通过命令行方式、@Bean方式以及注解方式定义惰性队列,这里只讲@Bean方式以及@RabbitListener方式。return QueueBuilder . durable("lazy.queue") . lazy() //设置为惰性队列 . build();//队列设置给惰性队列 args . put("x-queue-mode" , "lazy");原创 2023-08-07 17:42:10 · 252 阅读 · 0 评论 -
Elasticsearch-es7.6整合springBoot
【代码】Elasticsearch7.6-整合springBoot。原创 2023-07-19 14:12:53 · 377 阅读 · 0 评论 -
Elasticsearch-RestHighLevelClient基础操作
*** 更新索引结构//你已经创建好的索引名称 PutMappingRequest putMappingRequest = new PutMappingRequest(idx);原创 2023-07-19 15:11:31 · 2574 阅读 · 0 评论