- 博客(58)
- 收藏
- 关注
原创 Docker安装RabbitMQ
进入容器(docker exec -it rabbit /bin/bash),执行(rabbitmq-plugins enable rabbitmq_management)启动rabbitmq_management.一般不使用guest,因为rabbit默认账号密码是guest,不安全,都是使用自己创建的账号和密码。不过guest这个账号也是可以用的。然后浏览器访问:http://ip地址:15672,初始账号密码:guest guest。然后再次登录,就可以登录成功了。
2022-10-09 10:08:45
3566
1
原创 Docker安装MySQL
p:端口映射,将其linux的3306端口与mysql容器内部的3306端口进行映射-v:挂载文件,将容器内地址挂载到宿主机某个地址。(/宿主机绝对路径目录:/容器内目录 )将其mysql容器内部的文件挂载到linux中,每次变动都会在linux显示,而不用进入到容器内部查看-e:初始化123456用户密码。
2022-10-09 10:03:09
3172
原创 java下载csv乱码问题
用EXCEL打开文件时,总是产生乱码,但是用NOTEPAD++打开时,显示正常。然后,在NOTEPADD++的“格式”工具栏中查了一下文件编码,发现是“以UTF-8格式编码”。
2022-10-09 09:39:46
3270
原创 一文教你学会SpringBoot集成AOP实现日志记录
AOP:面向切面编程,是通过预编译方式和运行期动态代理,实现在不修改源代码的情况下给程序动态统一添加功能的一种技术,同时是对OOP(面向对象编程)的补充和完善,常被用来在spring中实现日志记录、性能监控等功能。面向对象实现日志记录,性能监控这些功能时,需要在每个对象中都添加相同的方法,这样就产生了较大的重复工作量和大量的重复代码,不利于维护,使用AOP,可以大大减少代码数量,方便维护。
2022-09-30 15:52:58
3100
原创 SpringBoot整合JWT实现登录认证
Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
2022-09-27 17:49:22
6897
1
原创 Java利用多线程进行并发数据查询
在我们的系统中,我们可能会在一个事务中,执行多项操作,调用多个外部服务,查询数据或者更新数据,进行一系列逻辑处理之后返回给客户一个结果。而不是本服务积压大量服务,而其它服务又大量空闲,使得前端的请求得不到及时的响应。逻辑一般是先定义几个方法查询对应数据,然后在用一个方法去调用这些方法,最终把结果返回到前端。这样写的缺点是:这些方法是串行执行的,如果数量量大的情况下,执行时间会很长,用户体验极差。并发查询的效率会受到机器配置下影响,核心线程多的机器可以理论上执行更多的并发任务。大概预期结果2325。
2022-09-27 17:24:43
5919
4
原创 RSA加密工具类
RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。(1)乙方生成两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的。公钥加密的信息只有私钥解得开,那么只要私钥不泄漏,通信就是安全的。(2)甲方获取乙方的公钥,然后用它对信息加密。(3)乙方得到加密后的信息,用私钥解密。
2022-09-27 10:28:22
1078
原创 Linux下安装Redis
将mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-cli、redis-server 移动到 /usr/local/redis-5.0.0/bin/ 目录下。(2).把 redis.conf配置文件中的 bind 127.0.0.1 这一行给注释掉,这里的bind指的是只有指定的网段才能远程访问这个redis,注释掉后,就没有这个限制了。进入到 /usr/local/redis-5.0.0/ 目录下,进行编译与安装。
2022-09-26 10:39:14
3909
原创 if语句优化 策略模式
先定义一个接口,各种处理分支实现这个接口,定义好 条件->处理类的映射关系,然后根据条件找到响应的处理类执行即可,当有新的分支的话,只需要增加一个接口实现类,增加一个条件->映射类的映射关系即可。先看一下需求场景,在对接企微通讯录回调通知api的时候,它下面有新增成员通知,删除成员通知,更新成员通知等情况,通知主要由ChangeType来区分,我们要通过这个ChangeType的类型处理不同的业务逻辑。这样的写法缺点就是过多的if else 导致阅读不方便,逻辑过于复杂,代码多长,也不利于后期的维护工作。
2022-09-22 17:05:56
4046
原创 Invalid bound statement 无效的绑定的解决办法
然后重启项目,再次访问接口,可以发现问题就解决了。我的xml文件写在了java目录里面。
2022-09-22 11:33:27
4097
原创 Java 8 Stream的简单使用
Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。Stream也是支持类似集合的遍历和匹配元素的,只是Stream中的元素是以Optional类型存在的。从字面上去理解,就是把一个流收集起来,最终可以是收集成一个值也可以收集成一个新的集合。短路操作:指遇到某些符合条件的元素就可以得到最终结果,如 A || B,只要A为true,则无需判断B的结果。映射,可以将一个流的元素按照一定的映射规则映射到另一个流中。
2022-09-19 22:08:08
3659
1
原创 SpringBoot整合Redis
新建springboot工程,创建各级目录。在pom.xml文件中引入redis相关依赖 <!--集成redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId&...
2022-07-14 16:29:00
37
原创 SpringBoot整合Mybatis
1.创建项目springboot项目。2.导入依赖。 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId&g...
2022-07-07 15:36:00
36
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅