Java小强个人技术博客站点    手机版
当前位置: 首页 >> 框架

SpringBoot中application.yml引入多个YML文件

4410 框架 | 2022-8-18 14:08
首先,你要了解SpringBoot配置文件加载顺序,加载位置(代码内,Nacos等),当然这不是这里要说的,这里我们就是约定配置文件在resources下,一般有一个主配置文件application.yml,但是当配置过多时,一个配置文件,将会非常臃肿。所以我们需要把配置文件拆分,一些不需要动的,公用的,核心的配置放到application.yml下,其他的......查看详细

SpringBoot项目中拦截器获取Body参数的问题

16170 框架 | 2022-6-30 9:54
首先我们要知道一个问题:HttpServletRequest的输入流只能读取一次,如果你在拦截器读取了Body的参数,那么在Controller再次读取时,会直接报错,原因如下:我们先来看看为什么HttpServletRequest的输入流只能读一次,当我们调用getInputStream()方法获取输入流时得到的是一个InputStream对象,而实际类型......查看详细

Java实现RSA加密示例代码

8981 框架 | 2022-6-16 10:06
RSA加密是一种非对称加密。可以在不直接传递密钥的情况下,完成解密。这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。是由一对密钥来进行加解密的过程,分别称为公钥和私钥。公钥加密--私钥解密,私钥加密--公钥解密示例代码import cn.hutool.core.codec.Base64; import lombok.Al......查看详细

Aspect声明式事物解决Spring事物内部调用不生效

5880 框架 | 2022-5-29 17:29
在之前解释Spring事物不生效时,列举了很多方面的原则,详细参考Spring事物不生效的原因http://www.javacui.com/framework/560.html 其中说到了一点:在类内部调用调用类内部@Transactional标注的方法。这种情况下也会导致事务不开启。假如有如下实例类:@Service public c......查看详细

使用Redis实现全局唯一ID

9260 框架 | 2022-5-29 14:46
在分布式系统中,做事务跟踪,数据分片,都需要使用全局唯一ID。全局唯一ID的生成方式需要满足的需求一般包括:1.全局唯一:最基本的要求2.趋势递增:在MySQL的innoDB引擎中使用的是聚集索引,由于使用Btree的数据结构来存储索引数据,在主键的选择上面我们应该尽量使用有序的主键保证写入性能。3.单调递增 :保证下一个ID大于上一个ID,例如事务版本号、......查看详细

StringRedisTemplate使用

7840 框架 | 2022-5-28 13:08
edis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础......查看详细

RedisTemplate乱码问题

7980 框架 | 2022-5-28 11:27
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基......查看详细

计算HMAC-SHA1签名,并对签名结果做URL安全的Base64编码

8690 框架 | 2022-5-18 17:03
Base64能够将二进制转码成可见字符方便进行http传输,可是base64转码时会生成“+”,“/”,“=”这些被URL进行转码的特殊字符,致使两方面数据不一致。能够在发送前将“+”,“/”,“=”替换成URL不会转码的字符,接收到数据后,再将这些字符替换回去,再进行解码,将避免该问题。我们以hutool为例,以下是其Base64源码:package&nb......查看详细