BeanUtils与mapstruct
BeanUtils与mapstructMapStruct和BeanUtils都是Java中常用的对象属性映射工具,但它们在使用方式和性能上有一些区别
123456789@Mapperpublic interface CarMapper { @BeanMapping(resultType = CarDto.class, ignoreByDefault = true, mappingControl = MappingControl.FILTER) @Mapping(target = "color", ignore = true) @Mapping(source = "model", target = "modelName") @Mapping(condition = "java(source.getAge() >= 18)", target = "isAdult") CarDto map(Car car);}
使用@Mapper注解将 ...
傻瓜都会用的ssh连接(就用vscode)
傻瓜都会的ssh连接服务器用了很多SSH连接器,使用过github的remote ssh插件后爱不释手了。
原来是用来来连接本地的wsl2的,结果发现好像也可以进行ssh连接远程服务器,而且配置简单好用,文件上传下载都可以,多端支持。
首先我们去vs找到Remote ssh插件
找到左下角进行配置连接
连接到主机就可以了
IoC思想
IoCIoC(Inversion of control )控制反转/反转控制,是一种编程思想。
在传统的开发中,我们通常是在类A中手动通过new来创建一个B的对象出来
使用IoC思想:不通过new关键字来创建对象,而是通过IoC容器(例如spring框架)来帮助我们来实例化对象。我们需要什么对象,就去IoC容器里面取就行了
使用IoC思想进行开发,这使我们失去了管理、创建对象的权利,但是好处就是不用考虑这个对象是否未创建,符合“万物皆对象”的思想
为啥叫做控制反转?
控制:对象创建(实例化、管理)的权利
反转:控制权交于外部环境(IoC容器)
使用IoC对我们有什么帮助?
其思想就是使两方之间不要相互依赖,由第三方的容器来管理相关资源
1.对象之间的耦合度降低2.资源变的容易管理,使用spring容器提供的话很容易就可以实现一个单例
现有一个正对User的操作,利用Serviece和Dao两层结构进行开发
在没有使用IoC思想的情况下,Service层想使用Dao层的具体实现的话,需要通过new关键字在UserServerImpl中手动new出一个IUserDao的具体 ...
Redis基本本应用(集群)
Redis学习(DAY3)持久化我们知道Redis是保存在内存中的,因为内存的特性,在机器断电之后,数据会消失,所以我们需要持久化,将数据备份到磁盘上。
两种方案:1、保存当前已经存储的数据;2、保存我们存放数据的所有过程
RDB
就是第一种方式
1234save-- 注意上面这个命令是直接保存,会占用一定的时间,也可以单独开一个子进程后台执行保存bgsave-- 后台执行
执行之后会生成一个dump.rdb文件,当重启服务器后,会自动加载内容到对应的数据库中
方便 如果数据库数据量较大,会花费大量的时间,我们可以每隔一段时间进行保存
12save 300 10 # 300秒(5分钟)内有10个写入save 60 10000 # 60秒(1分钟)内有10000个写入
AOF
以日志的方式将我们每次执行的命令都进行保存,服务器重启时按照命令依次执行。
我们可以自己来配置保存策略:
always:每次执行写操作都会保存一次
everysec:每秒保存一次(默认配置),这样就算丢失数据也只会丢一秒以内的数据
no:看系统心情保存
123456# 注意得改成也是appendonly ...
Redis基本本应用(全局唯一,互斥锁,分布式锁)
Redis基本应用(全局唯一,互斥锁,分布式锁)优惠券秒杀业务全局唯一ID每个店铺都可以发布优惠券,当用户抢购时,就会生成订单并保存到tb_voucher_order这个表里,而只使用数据库自增ID就存在一些问题:
id规律性太明显
受单表数据量的限制
假设:随着业务不断扩大,mysql单表容量不得超过500w,数据量过大之后,我们要进行拆库拆表,但是拆表之后,他们从逻辑上来说是同一张表,所以他们的id是不能一样的(mysql的ID是自增的)我们要保证id的唯一性
全局ID生成器(是否能用雪花算法呢?)
需要我们满足:唯一性,高可用,高性能,递增性,安全性
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253package com.hmdp.utils;import org.springframework.data.redis.core.StringRedisTemplate;import javax.annotation.Resource ...
在调试过程中报了个javavm错误
在调试过程中报了个javavm错误
解决方法
在-ea后加上-Xshare:off