- 博客(236)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 SpringBoot使用Mock进行单元测试
-引入springboot内置的tomact作为启动容器,不然启动后会自动关闭-->-- 集成MyBatis -->需求说明:需要对一个service接口进行单元测试。-- MySQL驱动 -->1.在pom.xml中加入依赖。2.编写controller类。出现这个说明已经模拟对象成功。
2024-05-19 21:57:10
878
原创 基于Redis和mysql架构,如果保证数据一致性
如图所示,是redis+mysql整体架构设计该设计会出现一个问题,如下图所示我们在面试的时候,面试官还可能会问各种没有场景化的纯粹的技术问题,比如说: “你这个最终一致性方案”还是会存在数据不一致的问题啊?那怎么解决?先不用慌,技术是为业务服务的,所以不同的业务场景,对于技术的选择和方案的 设计都是不同的,所以这个时候,可以反问面试官,具体的业务场景是什么?大家一定要记住,某个技术方案不可能适用于所有的业务场景,只有最合适的方案, 没有最优的方案。
2023-12-21 15:44:37
1017
原创 SpringBoot整合rocketmq
7.创建测试控制器RedisAndMysqlDataConsistenceController。8.创建消费者应用springboot-consumer,以上步骤相同的自动忽略。1.创建生产者应用,名称为springboot-producer。5.创建基于RocketMQ消息生产者实现类。6.创建消息实体类GoodsStockMQ。9.创建RocketMQ消息统一处理器类。4.创建RocketMQ配置信息类。2.在pom.xml加入依赖。10.创建异步消息处理类。
2023-12-19 16:59:47
711
原创 SpringBoot查询指定范围内的坐标点
添加坐标点: geoadd region 117.130313 31.84504 "shuxihu" 117.143635 31.838962 "chanyeyuan" 117.143635 31.838962 "shiyanxiaoxue" 117.123423 31.842912 "aolai" 117.207504 31.879882 "zhiwuyuan"springframework中已经加入了对redis geo的支持,相关的类都在org.springframework.data.geo包下。
2023-11-29 15:42:29
648
原创 若依集成分库分表(一)
1)手动创建表oct_hr_user_clock_0到oct_hr_user_clock_4。1.3 新增ShardingDataSourceConfig。-- sharding-jdbc分库分表 -->1.4 application.yml配置。1.5在分表的方法上加上切换数据源注解。1.2 DruidConfig修改。1.本次需求为同库分表。1.1 引入pom依赖。
2023-06-09 11:26:34
1689
1
原创 Maven处理依赖冲突
File–>setting—>Plugins—>在搜索框中填写Maven Helper然后搜索,单击Install按钮进行安装,装完重启IDE。Maven会根据pom文件中的groupId、artifactId、version来判断jar是否冲突。如果出现了同名不同版本的jar包,Maven的处理原则是 离你项目更近的jar包会被选中,其他的淘汰。方法2:右键单击红色区域,弹出菜单选择Exclude命令,对冲突进行排除。1)下载Idea插件 Maven Helper。方法1:更换兼容版本。
2023-06-02 11:07:30
2110
原创 SpringBoot集成七牛云对象存储服务
accessKey(公钥)、secretKey(私钥)、bucket(新建的空间名称)、domain(外网访问的域名)需要完成实名认证还能使用,实名认证后获取。2.pom.xml中加入依赖。1.注册、登录七牛云。
2023-03-22 16:17:34
219
1
原创 SpringBoot实现配置文件的加密和解密
如果java.security文件中没有配置crypto.policy,那么会像jdk之前版本一样,加载jre/lib/security目录下的local_policy.jar, US_export_policy.jar,并使用其代表的策略;如果java.security文件中没有配置crypto.policy并且jre/lib/security目录下没有local_policy.jar, US_export_policy.jar,那么会启用默认不限制密钥长度机制。1.新建一个springBoot项目。
2023-01-31 17:34:36
1145
原创 Redis处理client连接数过多,大量空闲链接无法释放
oll: 输出列表包含的对象数量(当输出缓冲区没有剩余空间时,命令回复会以字符串对象的形式被入队到这个队列里)qbuf-free: 查询缓冲区剩余空间的长度(字节为单位, 0 表示没有剩余空间)qbuf: 查询缓冲区的长度(字节为单位, 0 表示没有分配查询缓冲区)obl: 输出缓冲区的长度(字节为单位, 0 表示没有分配输出缓冲区)id: 唯一的64位的客户端ID(Redis 2.8.12加入)。events: 文件描述符事件 cmd: 最近一次执行的命令。age: 以秒计算的已连接时长。
2022-09-08 10:31:55
669
原创 web.xml配置全局过滤器防止SQL注入
Statement.executeUpdate(sql),没有使用PreparedStatement.executeUpdate(sql)生产有个老项目使用的是jsp+servlet写的,对安全方面几乎没有,对执行的sql使用的是。2)写sql的时候用PreparedStatement。1)配置全局过滤器,通过关键字匹配来拦截恶意请求。1.在web.xml中加入以下配置。本次使用的是配置全局过滤器。浏览器上直接访问项目。
2022-08-23 15:35:27
961
原创 Windows上安装Zookeeper
C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。initLimit:这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。...
2022-08-04 17:03:37
195
原创 SpringBoot实现微信短视频小程序
小程序页面目录:index 首页userRegist 用户注册页面userLogin 用户登录页面chooseBgm 选择背景音乐页面resource 图片存放目录。
2022-08-04 16:51:00
767
原创 SpringCloud实战项目一(项目环境的搭建001)
6.创建服务消费工程,springcloud-consumer。分别启动服务gateway、provider、consumer。3.创建网关项目,springcloud-gateway。4.创建提供项目,springcloud-provider。5.创建api工程,springcloud-api。2.创建项目名称为springcloud-001。......
2022-07-29 11:07:43
135
原创 微服务项目部署-POS收银系统
linux系统2台,或者1台足够大的内存,因为安装工具和启动服务需要占用很大内存,大约8G。/opt/octv/product/pos/octv-pos-gateway下。打包使用IDEA->maven->Lifecycle->package。切换到部署目录,运行命令shstartpup.sh。将打包后的dist里面的文件上传到nginx指定目录下。打包后的路径是根目录的target目录。7.Minio安装(根据实际情况安装)5.RockerMQ安装。二、应用系统安装与配置。...
2022-07-21 17:25:33
419
原创 Linux上安装Sentinel限流、降级组件
默认用户名密码均为sentinel,密码不要直接复制。新建application.yml文件。2.启动Sentinel控制台。若是云服务器开放端口9070。若是虚拟机开启端口9070。新建shutdown.sh。新建startup.sh。创建config目录。
2022-07-19 10:25:34
185
原创 Linux上安装minio
在bin目录创建启动脚本文件startup.sh。若是云服务器需要配置安全组允许9000端口。命令启动缺点,窗口关闭,服务也随之关闭。bin启动脚本及二进制文件目录;账号admin/admin123。若是虚拟机需要开启端口9000。赋予minio文件执行文件权限。若出现未识别wget命令。data数据存储目录;logs日志目录;...
2022-07-19 10:19:00
409
原创 Linux上安装rocketmq
rocketmq-console是RocketMQ的一个图形化管理控制台工具,提供Broker集群状态查看,Topic管理,Producer、Consumer状态展示,消息查询等常用功能,这个功能在安装好RocketMQ后需要额外单独安装、运行。将rocketmq-all-4.9.2-bin-release.zip上传到/opt/octv/product/pos/rocketmq目录下,并执行解压命令。下载安装包,目前最新稳定版本rocketmq-all-4.9.2-bin-release.zip。...
2022-07-14 22:11:43
1637
原创 Linux上安装Nacos
可以从Nacos官网Releases · alibaba/nacos · GitHub下载最新稳定版本:nacos-server-2.0.3.tar.gz# cd /opt/octv/product/pos# mkdir nacos# cd nacos# wget https://github.com/alibaba/nacos/releases/download/2.0.3/nacos-server-2.0.3.tar.gz将Nacos安装包nacos-server-2.0.3.tar.gz上传到服务器/
2022-07-12 16:23:16
631
原创 Linux上安装mysql
安装之前,需要先看下服务器上之前是否安装过mysql1.1将mysql安装包上传到指定需要安装的mysql1.2 切换到指定目录,并解压解压命令:tar -xvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz1.3 创建mysql用户组和用户并修改权限groupadd mysqluseradd -r -g mysql mysql创建数据目录并赋予权限mkdir -p /data/mysqlchown mysql:mysql -R /
2022-07-11 16:45:47
138
原创 SpringBoot静态资源的配置
在SpringBoot项目中,默认有5个位置可以用来存放静态资源,分别为:1、classpath:/META-INF/resources/2、classpath:/resources/3、classpath:/static/4、classpath:/public/5、/源码解析 WebMvcAutoConfigurationthis.mvcProperties.getStaticPathPattern()对应 / this.resourceProperties.getStaticLocat
2022-07-07 10:12:56
572
原创 Linux Docker安装mysql
1.11.1 下载最新版mysqldocker pull mysql1.11.2 查看镜像(软件包)docker images1.11.3 创建mysql容器,其中3306为本地mysql端口,8036为容器端口,也是外网访问端口docker run -itd --name xizhao-mysql -p 8036:3306 --net xizhao -e MYSQL_ROOT_PASSWORD=root mysql1.11.4 查看所有容器docker ps -a1.11.5 进入mysql容器docke
2022-07-06 14:55:37
363
原创 若依配置多数据源
1.在application.yml配置新增的数据库octmes: # 从数据源开关/默认关闭 enabled: true url: jdbc:mysql://localhost:3306/octmes?useUnicode=true&characterEncoding=UTF-8 username: root password: root
2022-06-17 14:29:42
573
原创 SpringBoot默认包扫描问题
@SpringBootApplication注解默认扫描路径是:自动扫描主程序所在包及其下面的所有子包里面的组件在maven多模块项目中,如果想让扫描到,需要在子模块下面创建相同的包如:如果包名不同就需要使用@ComponentScan注解来扫描但是@ComponentScan注解只能扫描spring-boot项目包内的bean并注册到spring容器中spring.factories文件是帮助spring-boot项目包以外的bean(即在pom文件中添加依赖中的bean)注册到spring-boot
2022-06-16 16:05:28
291
原创 SpringBoot+Vue实现学生管理系统
1.技术架构前后端分离项目,后台:springBoot+mysql+mybatis前端:vue框架2.安装环境IDEA/eclipse均可jdk1.7或1.8maven项目mysql数据库版本为8.0.17node3.功能说明用户角色:学生、家长或教师、管理员学生:1)查看自己的学生信息2)查看自己的奖项信息3)查看自己的日常表现4)查看自己的学习成绩5)查看并下载自己的试卷教师:1)查看自己所带学生的信息2)查看自己所带学生的奖项
2022-06-01 11:20:40
1488
原创 java对图片按照指定尺寸压缩
1.pom.xml引入依赖<dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.8</version> </dependency>2.接口/** * 上传人员头像
2022-05-27 09:55:31
369
原创 lombok用法
一、lombok介绍官方定义:Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate
2022-05-11 17:36:41
1285
原创 eclipse集成lombok(二)
1.下载lombok.jar包链接:https://pan.baidu.com/s/14BMiD8FPU3pvoS0Yo9umXw提取码:qckf2.将lombok包放到eclipse安装的根目录3.修改eclipse.ini文件,加入以下内容:-javaagent:lombok.jar-vmargs -javaagent:lombok.jar4.重启eclipse,点击项目右键maven update即可...
2022-05-07 17:20:06
580
原创 CentOS8 yum 报错 404 for http://mirrors.cloud.aliyuncs.com/centos/8/AppStream
404 forhttp://mirrors.cloud.aliyuncs.com/centos/8/AppStream/x86_64/os/repod问题描述阿里云服务器,CentOS8,yum安装报错解决办法 登录CentOS 8系统的ECS实例。具体操作。 运行以下命令备份之前的repo文件。rename '.repo' '.repo.bak' /etc/yum.repos.d/*.repo 3.运行以下命令下载最新的repo文件。wget https...
2022-04-25 14:56:02
496
原创 pom文件中dependencies和dependencyManagement区别
在父pom中定义dependencies,子项目默认全部继承在父pom中定义dependencyManagement只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。...
2022-04-21 12:28:26
329
原创 设计模式之建造者(Builder)模式
使用前提是:IDEA或eclipse要安装lombok插件1.创建实体类,在类上面加上@Builder注解对象构建的时候使用:OrderBatching orderBatching = OrderBatching.builder() .batchingId(goodsBatching.getId()) .batchingName(goodsBatching.getBatchingName()) .price(good
2022-04-20 17:48:36
469
原创 Mybatis自定义排序
需求:根据接口传的用户id顺序返回用户信息使用mysql的order by field(id,1,2,3,4,5)实例:<select id="findUserListByIds" resultMap="SysUserResult" parameterType="java.lang.String"> select u.id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u
2022-03-10 16:50:21
688
原创 批量下载文件,循环中文件流没有关闭导致每次下载会累加之前的下载文件
/** * 压缩 * * @param files 多文件 * @param zipFilePath 目标压缩文件路径 * @throws IOException */public static void zip(List<File> files, String zipFilePath) throws IOException { log.info("启用ZIP压缩工具 >>>>>>>>>> "); if(.
2022-02-24 10:13:28
398
原创 Spring Cloud JWT文件生成
生成私钥和公钥RAS算法生成私钥和公钥,桌面新建一个jwt文件夹,在文件夹里打开cmd,执行生成私钥>keytool -genkeypair -alias jwt -keyalg RSA -keypass 123456 -keystore jwt.jks -storepass 123456keytool是java提供的证书管理工具-genkeypair 要生成密钥 -alias 证书的别名-keyalg RSA 指定加密算法 -keypass密钥的访问密码-keystore
2022-01-20 15:05:27
326
原创 mysql查询不同用户的最新一条记录
方法一:SELECT * from (SELECT * from oct_hr_user_clock ORDER BY clock_time desc limit 10000) v GROUP BY v.user_id注意:limit必须要加方法二:SELECT * from oct_hr_user_clock ajoin(SELECT max(clock_time) as clock_time,user_id from oct_hr_user_clock GROUP BY...
2022-01-18 10:01:16
1054
1
原创 Windows上安装Nacos
1.安装包下载地址:链接:https://pan.baidu.com/s/1YZRUVbTzeNfDfF3tMTmsLQ提取码:5ewe2.安装和使用直接解压进入conf目录,修改application.properties文件去掉注释,配置数据库连接信息创建naocs数据库,导入nacos-mysql.sql文件即可进入到bin目录,点击表明启动完成3.访问http://127.0.0.1:8848/naco用户名/密码:nacos/naco...
2022-01-12 11:15:10
492
原创 若依登录流程
1.第一步// 用户验证Authentication authentication = null;try{ // 该方法会去调用UserDetailsServiceImpl.loadUserByUsername authentication = authenticationManager .authenticate(new UsernamePasswordAuthenticationToken(username, password));}2.第二步.
2021-11-25 15:39:49
2560
原创 Msql sql(优化三)
问题描述:公司在使用若依架构,查询角色列表的时候用到了角色列表接口,生产查询时候很慢,大概需要6秒原始sql:select distinct r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.menu_check_strictly, r.dept_check_strictly, r.status, r.del_flag, r.create_time, r.remark from sys...
2021-11-05 17:45:52
264
原创 SpringBoot自动配置的原理及实现
SpringBoot的核心就是自动配置,自动配置是基于条件判断配置Bean自动配置的源码在spring-boot-autoconfigure-2.2.13.RELEASESpringBoot运行原理先看@SpringBootApplication//// Source code recreated from a .class file by IntelliJ IDEA// (powered by FernFlower decompiler)//package org.spri
2021-11-03 16:25:46
2444
03 lombok.zip
2020-06-20
hibernate处理懒加载出现问题
2017-08-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人