- 博客(15)
- 资源 (3)
- 收藏
- 关注
原创 H5聊天对话气泡的一种实现方式及原理
H5聊天对话气泡的一种实现方式及原理实现效果实现原理实现代码聊天对话气泡实现特别需要处理的是气泡的小尖角。实现效果实现原理基于HTML元素边框原理及CSS伪元素实现气泡小尖角。关键点如下:元素边框实际是由梯形组成。当元素宽高为0、边框不断加粗时,实际边框是成三角形。保留元素的其中一个边框,透明化另外3个边框。通过元素的层级关系用两个三角形遮盖形成带边框的小三角。这里使用CSS伪元素实现两个小三角。实现代码<html><head><meta ch
2022-03-28 11:08:30 3674
原创 常用场景SQL合集
常用场景SQL合集DELETE FROM res_supplier WHERE supplier_name IN (SELECT * FROM(SELECT supplier_name FROM res_supplier GROUP BY supplier_name HAVING COUNT(supplier_name) > 1) a)AND id NOT IN(SELECT * FROM(SELECT MIN(id) FROM res_supplier GROUP BY supplier_nam
2022-01-13 10:51:23 2438
原创 BigDecimal使用方式实践
BigDecimal使用方式特性示例1. 定义BigDecimal的正确方式推荐使用BigDecimal的静态工厂方法。 其优先于构造函数方法,因为它允许重用常用的BigDecimal值。对于0,1,10推荐直接使用静态常量。其次使用字符串构造方法,double构造方法结果将不可预测。BigDecimal zero = BigDecimal.ZERO, one = BigDecimal.ONE, ten = BigDecimal.TEN; // 0,1,10(推荐)BigDecimal num1 =
2021-11-28 17:14:45 1786
原创 对Mybatis-Plus的封装(更新中)
对Mybatis-Plus的封装(更新中)在日常实际业务开发中常常对非必传参数组装查询条件,一大堆if判断充斥在我们的代码中,我们可以做一层封装简化业务代码:protected <C, R> void eqNon(AbstractWrapper<C, R, ?> wrapper, R column, Object value) { if (Objects.isNull(value)) { return; } wrapper.eq(column
2021-11-14 19:30:23 1478
原创 读取项目Resources资源目录下文件的方式
Spring下读取项目Resources资源目录下文件的方式尝试了很多读取resource资源文件的方式,很多读取不到或者是读取配置文件的形式。以下两种方式,方式一用于通过启动jar方式时读取,方式二是本地IDE启动时读取。import org.springframework.core.io.ClassPathResource;import org.springframework.util.ResourceUtils;/** * 读取resources文件 * @param xmlPath
2021-10-21 19:55:26 1190
原创 Git合并多个提交(包括远程仓库的提交)
Git合并多个提交(包括远程仓库的提交)1.查看提交历史,—oneline -20最近20次提交,每次提交显示一行摘要2.合并提交历史,可合并最近几个历史,也可指定合并某几个历史3.编辑合并规则,pick4.有冲突解决冲突,没有冲突编辑提交信息,*强制推送*1.查看提交历史,—oneline -20最近20次提交,每次提交显示一行摘要git log —oneline -202.合并提交历史,可合并最近几个历史,也可指定合并某几个历史#合并前5个提交git rebase -i HEAD~5#或
2021-09-16 17:46:40 2173
原创 IDEA中搜索项目jar包里的日志、代码等内容
IDEA中搜索项目jar包里的日志、代码等内容启动项目时,有时候我们想通过启动日志来查看源码了解代码执行的流程,或者是项目启动失败了,想通过打印出的日志定位源码位置来了解失败的原因,但是Windows下在IDEA中直接Ctrl+Shift+F或双击Shift直接搜索是搜索不到jar包里面的内容的。解决方式:通过Ctrl+Shift+F然后切换到Directory选项就能搜索到了。网上有说通过下载jar包源码去搜索,试了下没有搜到,这种方式应该是可以搜到的,但是下载源码搜索感觉很不爽,那么多类也不知
2021-06-11 10:46:35 2446
原创 你真的了解Java继承吗?
你真的了解Java继承吗?先给出结论代码说明先给出结论能 instance of就能转子类拥有父类所有属性父类不能访问子类属性子类一定能转为父类,父声明类可以强转为子类,父类、父其他声明类、其他子类不能(强)转为子类子类转父类本质还是子类,属性值不丢失,但是不能修改子类属性值;父声明类本质是子类,但是不能设置子类属性值,强转子类后可设置子类属性值代码说明/** 父类 */@Data@ToString(includeFieldNames = false)public class
2021-05-26 17:09:59 99
原创 XStream注解方式对象转xml场景使用
XStream注解方式对象转xml场景使用代码结果代码@Data@XStreamAliasType("testXml")public class XmlVo { /** XStreamAlias设置别名为 ID, XStreamAsAttribute设置字段作为xml属性*/ @XStreamAlias("ID") @XStreamAsAttribute private String id; /** 默认使用属性名称 */ private Integ
2021-04-18 19:58:31 4879 2
原创 SpringBoot启动失败报错,spring.profiles.active:@env@中环境变量@无法识别报错
今天开发中碰到的问题,报错内容如下:Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next tokenfound character '@' that cannot start any token. (Do not use @ for indentation) in 'reader', line 3, column 13: active: @env@
2021-01-15 18:52:59 18225
原创 Maven项目引用本地jar包依赖打包警告should not point at files within the project directory
Maven项目引用本地jar包依赖打包警告Some problems were encountered while building the effective model for com.xxx.xxx:xxx-xxx:jar should not point at files within the project directorySome problems were encountered while building the effective model for com.xxx.xxx:xxx-
2021-01-14 19:00:24 13393
原创 通俗学习Mockito结合Spring跨多层接口mock测试方法
A调B,B调C,测试A,mock掉C场景: 想要测试ServiceA下的getUserVo()方法,getUserVo()方法调用了ServiceB的服务,ServiceB里又调用了ServiceC的getUser()方法,需要mock掉ServiceC的getUser()方法。操作方法: 详细如代码,参照代码注释①把需要mock注入的服务(ServiceA,ServiceB)加上 @Inj...
2019-01-31 16:06:50 9714 4
原创 Java慎用toString()方法
Java慎用toString()方法public static void main(String[] args) { Integer i = null; System.out.println(String.valueOf(i)); //null System.out.println(i + &amp;amp;amp;quot;&amp;amp;amp;quot;); //null // NullPo.
2018-09-30 17:20:42 580
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人