- 博客(17)
- 收藏
- 关注
原创 ThreadLocal存储用户登录信息
一般来说如果我们需要获取当前用户信息的话,大家想到的都是在用户的登录的时候将用户的信息存到缓存中,然后登录不是会生成token吗,到时候如果哪个controller中需要用到用户信息的话,那我就将token传过去,然后再校验一下token,ckeckToken的逻辑中会给我返回我存在缓存中的用户信息,就比如用户id吧(直接存密码就有点不安全了),再通过id去查询数据库获得用户的用户名密码之类的。
2022-09-13 11:15:59 4490 6
转载 聚簇索引和非聚簇索引(主键索引和非主键索引)&走普通索引,一定会出现回表查询吗?
很容易理解,有一个 user 表,主键为 id,name 为普通索引,则再执行:select id, name from user where name = ‘joonwhee’ 时,通过name 的索引就能拿到 id 和 name了,因此无需再回表去查数据行了。:聚簇索引并不是一种单独的索引类型,而是一种数据存储方式。聚簇索引将索引和数据行放到了一块,找到索引也就找到了数据。,一般是主键,如果没有主键,就会优先选择非空的唯一索引,如果唯一索引页没有,就会创建一个隐藏的 row_id 作为聚集索引。
2022-09-08 11:20:35 1431
原创 sql脱敏
sql脱敏其实就是对敏感字符进行替换,在公司的日常开发中,比如一个查询列表操作,就经常要对一些查出来的私密信息进行脱敏操作,比如身份证号的脱敏规则就是只需要保留前三位和后三位数字,其它用*号代替。
2022-09-07 14:26:58 4486 2
原创 适配器模式
类的适配器模式:当希望将一个类转换成满足另一个新接口的类时,可以使用类的适配器模式,创建一个新类,继承原有的类,实现新的接口即可。对象的适配器模式:当希望将一个对象转换成满足另一个新接口的对象时,可以创建一个Wrapper类,持有原类的一个实例,在Wrapper类的方法中,调用实例的方法就行。接口的适配器模式:当不希望实现一个接口中所有的方法时,可以创建一个抽象类Wrapper,实现所有方法,我们写别的类的时候,继承抽象类即可。
2022-09-02 09:53:37 710
原创 构建者模式
建造者模式的定义是:将一个复杂对象的构造和他的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。构建者模式和工厂模式很类似,区别在于构建者模式是一种个性化产品的创建。而工厂模式是一种标准化的产品创建。...
2022-09-01 09:50:06 713
原创 原型设计模式
原型模式虽然是创建型的设计模式,但是与工厂模式没有关系,从名字可以看出,该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。
2022-08-31 14:24:05 671 1
原创 抽象工厂模式
抽象工厂模式是应对产品族概念的。例如,汽车可以分为轿车、SUV、MPV等,也分为奔驰、宝马等。我们可以将奔驰的所有车看作是一个产品族,而将宝马的所有车看作是另一个产品族。分别对应两个工厂,一个是奔驰的工厂,另一个是宝马的工厂。与工厂方法不同,奔驰的工厂不只是生产具体的某一个产品,而是一族产品(奔驰轿车、奔驰SUV、奔驰MPV)。“抽象工厂”的“抽象”指的是就是这个意思。工厂方法模式是一种极端情况的抽象工厂模式(即只生产一种产品的抽象工厂模式),而抽象工厂模式可以看成是工厂方法模式的一种推广。......
2022-08-30 11:18:48 731 1
原创 简单工厂模式
简单工厂模式属于创造型设计模式,简单来说就是工厂类有一个工厂方法(create),接受了一个参数,就可以通过不同的参数实例化不同的产品类。
2022-08-29 13:43:03 678
转载 简单理解Collections.synchronizedList
大家都知道并不是线程安全的,如果想要做到线程安全,我们可以使用 Collections.synchronizedList, 但是使用 Collections.synchronizedList后是否真的就线程安全了?
2022-08-25 14:51:43 1072
原创 ElasticSearch插件plugin ik分词器,报错plugin-descriptor.properties
ES日志中报错plugin-descriptor.properties NoSuchFileException。
2022-08-15 16:46:40 3520
原创 IDEA创建springboot项目时出现Cannot download ‘https://start.spring.io’: connect timed out错误怎么解决
问题描述:使用IDEA创建springboot项目时,有时候会出现如下错误:‘https://start.spring.io’ 的初始化失败,请检查 URL、网络和代理设置。错误消息:Cannot download ‘https://start.spring.io’: connect timed out, response: 200 null解决方案:其实网上有很多的解决方案,比如什么将无线网络换成个人手机热点,或者去Settings中修改代理,但有的时候这两种方法都不奏效,这时我们可以尝试将我
2021-01-17 19:38:36 2066 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人