- 博客(168)
- 资源 (1)
- 收藏
- 关注
原创 Spring Cloud 微服务架构图
Spring Cloud 微服务总体架构图上面图中技术名词理解:1、Sleuth-链路跟踪为服务之间调用提供链路追踪。通过Sleuth可以很清楚的了解到一个服务请求经过了哪些服务,每个服务处理花费了多长。从而让我们可以很方便的理清各微服务间的调用关系。2、断路器(Hystrix)在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调...
2018-08-15 11:32:43 76902 8
原创 SpringBoot 中使用 Swagger2 出现 whitelabel page error 解决方法
其他弄好后,访问 http://localhost:8080/swagger-ui.html 出现如题错误。访问: http://localhost:8080/swagger-ui/亲测好用 不用像之前旧的swagger版本访问.html结尾的文件!今天使用Swagger最新版,在pom.xml引入。替换pom.xml内容为。注意最后的斜杠/不能少。
2023-04-12 00:07:28 2111 1
原创 java 集合中对象 按照多个属性正序倒序同时排序排列
realCloudProviderAccountGroupDtos 是逻辑处理上的集合想分别按照code 和scope两个属性,同时倒序排列,增加reversed(),去掉表示正序排列realCloudProviderAccountGroupDtos = realCloudProviderAccountGroupDtos.stream() .sorted(Comparator.comparing(CloudProviderAccountGroupDto::getCode).rev
2022-04-19 12:33:43 3104 1
原创 mybatis 中完整输出SQL日志
1、使用插件idea 中的插件mabatis log2、services中直接运行这个插件3、idea项目重启,调用接口,查看mybatis log 日志
2022-03-24 17:18:50 1376
原创 doris数据库中字段是变量 去掉单引号问题
doris支持mysql的协议,在使用mybaits连接doris数据库时,为了考虑方法的兼容性,数据库表的字段是动态拼接的,在其他数据库中没问题但是再doris会出错,那么如何去掉字段中自动增加的’单引号呢?mapper.xml传输接收参数时,#号改成$符号就可以实现!代码实例中 <foreach item="value" collection="filters" index=""> and #{value.attributeKey}
2022-03-24 17:03:35 1446
原创 SpringBoot 配置篇 - 加载指定YML文件配置信息
项目需要指定特定的yml文件名称,不是默认的application.yml,那么需要如何配置呢?在之前学习的@PropertySource 读取指定配置文件的文章中我们了解到使用PropertySource可以指定配置文件类去加载指定的properties文件,关于properties的配置可以参考一下这篇文章,本文将讲述yml的踩坑过程。首先我创建了classpath:security-whitelist.yml@PropertySource(value = {"classpath:securit
2022-02-24 11:11:58 4378
原创 idea springboot项目启动图标没了 idea右上角run消失
把Navigation Bar 勾选上 (下图是idea2021位置 旧版本直接在View下面就可以找到了)
2022-02-18 14:54:10 3350 1
原创 Docker 安装和卸载详细步骤
一、Docker的安装查看系统的内核:uname -r系统内核版本为3.10.0[root@iZwz99sm8v95sckz8bd2c4Z ~]# uname -r3.10.0-957.21.3.el7.x86_64查看系统配置cat /etc/os-release[root@iZwz99sm8v95sckz8bd2c4Z ~]# cat /etc/os-releaseNAME="CentOS Linux"VERSION="7 (Core)"ID="centos"ID_LIKE="
2022-01-10 22:50:30 4389
原创 Centos7以上开放指定端口命令
Centos开放指定端口命令1、开启防火墙systemctl start firewalld2、开放指定端口firewall-cmd --zone=public --add-port=6666/tcp --permanent--add-port=portid[-portid]/protocol命令含义:--zone #作用域--add-port=6666/tcp #添加端口,格式为:端口/通讯协议--permanent #永久生效,没有此参数重启后失效3、重启防火墙firewal
2022-01-05 23:17:36 13408
原创 PgSQL upsert批量查询插入或更新(insert select/on conflict do update踩坑记录)
PGSQL数据库中根据唯一索引判断存在不存在,存在则更新,不存在就新增,可以参考下的sql,注意其中的item_type,item_type_id,item_group,item_group_key四个字段组成唯一的联合主键,没有这样的联合主键,就会报"there is no unique or exclusion constraint matching the ON CONFLICT specification"错误!mapper:long saveAA(@Param("param") CreateC
2021-12-06 20:56:27 4544
原创 vscode 清理删除的分支
很多远程分支可能已经删除掉了,但是在vscode中还会继续缓存这些分支,如何删除掉了,下面的命令是批量删除这类分支:git fetch --prune
2021-12-06 13:49:46 4477
原创 java BigDecimal 加减乘除运算
注意除法运算,分母为0的问题,还有就是除法后保留几位小数点的问题 //两个flot相加 public float twoFloatAdd(float a, float b) { BigDecimal a1 = new BigDecimal(Float.toString(a)); BigDecimal b1 = new BigDecimal(Float.toString(b)); Float add = a1.add(b1).floatValue()
2021-11-29 15:14:51 1121
原创 BigDecimal 四舍五入保留两位小数
/** * 保留小数点后两位,直接转成String,一般用于前端直接显示 * * @param value * @return */ public static String keep2DecimalPlaces(float value) { BigDecimal b1 = new BigDecimal(value); return b1.setScale(2, BigDecimal.ROUND_HALF_UP).t.
2021-11-28 16:05:29 13300 1
原创 Java8 findAny和findFirst的区别
List<String> lst1 = Arrays.asList("Jhonny", "David", "Jack", "Duke", "Jill","Dany","Julia","Jenish","Divya");List<String> lst2 = Arrays.asList("Jhonny", "David", "Jack", "Duke", "Jill","Dany","Julia","Jenish","Divya"); Optional<String>
2021-11-28 13:52:51 662
原创 mybatisplus LambdaQueryWrapper 多条件拼接成and查询
LambdaQueryWrapper<SysTest> query = new LambdaQueryWrapper<>(); query.eq(SysTest::getDiscountType, 1); query.and(q -> { q.le(SysTest::getStartMonth, (Integer)(beginMonth)).or(wrapper -> wrapper.ge(SysTest::getEndMonth
2021-11-16 18:40:07 5973
原创 vscode 左侧工具栏显示
1.显示工具栏点击文件,选择首选项,点击设置按钮搜索workbench,勾选上Workbench> Activity Bar:Visble勾选上后,工具栏就显示出来了
2021-11-05 15:04:56 14591
原创 css背景图片半透明效果
css 设置背景色半透明效果,参数 background:rgba(x,x,x,x)最后一个a表示半透明,取值是0-1
2021-11-02 18:17:03 1166
原创 css 文字垂直居中
css样式中提供了text-align=center 实现的是水平居中,但没有提供直接的垂直居中,具体原因不得而知,实现方式可以通过设置行高=盒子的高度,原因很好理解,行高= 上缝隙+文字高度+下缝隙,而文字的高度又是固定的,上下缝隙距离是均分的,所有就会强制文字垂直居中显示了,只不过上下缝隙是没有颜色的看不见而已,举例:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8">
2021-11-02 16:38:44 1855
原创 css行内元素转块级元素 块级元素转行内元素
一个超链接打开一个页面,正常情况下只是在这个超链接上点击才可以打开目标页面,有时候优化需要在一个区域范围内(有宽度、高度)点击,都可以打开超链接,这个时候就需要将行内元素转化成块元素,使用到属性display : block 属性即可;如果是块级元素转行元素,则需要display:inline,配置后,发现高度和宽度都无效了。举例:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"&g
2021-11-02 15:36:07 891
原创 css元素显示模式
块级元素:可以包含块级元素和行内元素,例如 p div 标签行内元素:一行可放多个行内元素,不可设置宽度和高度,默认宽度就是内容的宽度,一般可容纳行内元素或者文本,超链接元素除外,行内块元素:一个放多个块元素,可以设置宽度和高度,例如input标签后面可以再次放input,input又可以设置宽高...
2021-11-02 14:48:21 77
原创 css 伪类选择器
给选择器增加特殊的效果,使用冒号(:)表示举例:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
2021-11-02 11:46:29 115
原创 css 样式并集选择器
举例:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Docum.
2021-11-01 18:23:10 240
原创 css 样式 子选择器
样式控制时,利用标签下包含子标签的方式,会导致只要父标签下的能找到的子标签的话,样式都会生效,可能是孙子或者重孙级别,怎样只控制只是儿子级别的样式控制呢?这时候就需要子选择器,标签之间用> 分割举例:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
2021-11-01 17:55:21 425
原创 css行间距 line-height
行间距,由三部分组成,文本高度+上间距+下间距举例:行高设置26px,文字默认大小是16px,上下间距就平分5px,测量行间距方法一般测量上一行的下底部,到下一行的底部,也就可以通过测量工具按照这样的测量方法测试出来。...
2021-11-01 12:07:56 614
原创 css首行缩进2个空格相对大小
有时候段落文本需要首行缩进两个空格,可以通过text-indent属性设置,单位em表示相对当前行文本大小缩进,例如当前文字大小是10px,那么2em就是相当于首行缩进了10xp*2=20px,也就是20px<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"&
2021-11-01 11:54:19 1027
原创 navicat备份导出完整PostgreSQL数据库
项目在上线前,在测试环境准备了大量的基础数据,这些数据创建后,需要导入到正式环境的数据库上,项目使用的是postgreSQL数据库,现在就需要将数据库整体打包导出备份到sql脚本,可以安装 Navicat for PostgreSQL版本链接工具,专门为PostgreSQL定制使用,功能十分强大!步骤:1、工具-数据传输2、源, 选择连接/数据库/模式 ,目标中可以选择直接连接的库,或者文件选择文件3、下一步4、数据库对象选择 全部 表/视图/函数/序列/类型5、点击选项,配置详细参数6、导
2021-11-01 11:36:33 9930 2
原创 css 类选择器 多类名使用
前端常用类名定义样式,但是遇到一些重复的样式,可以考虑使用多类型写法,实现代码公复用!举例:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-wid
2021-10-29 11:41:07 877
原创 前端 js this.dataSource = res.data.data.items || [];
前端有时候获取后端返回值res的数据,但是不知道这个数据是否有值,这个时候一般处理是这样:this.dataSource = res.data.data.items || [];意思是 res.data.data.items如果是null的话 就取[],如果不是null 就取自身的值...
2021-10-26 15:10:03 1225
原创 Future 实现异步调用
项目需要实现操作异步调用,直接上代码:@ApiOperation("执行操作")@PutMapping("/xxxx")public ResultBody approval(@RequestBody @Validated Param param) { try { //逻辑处理 .... Future<Object> result = this.service.do(param); //阻塞上面的方法执行,时间不超过2秒
2021-10-22 17:17:30 307
原创 future.get方法阻塞问题的解决,实现按照任务完成的先后顺序获取任务的结果
1、FutureFuture模式是多线程设计常用的一种设计模式。Future模式可以理解成:我有一个任务,提交给了Future,Future替我完成这个任务。期间我自己可以去做任何想做的事情。一段时间之后,我就便可以从Future那儿取出结果。Future提供了三种功能:判断任务是否完成能够中断任务能够获取任务执行的结果向线程池中提交任务的submit方法不是阻塞方法,而Future.get方法是一个阻塞方法,当submit提交多个任务时,只有所有任务都完成后,才能使用get按照任务的提交顺序得
2021-10-22 16:40:34 5999
原创 springmvc freemarker页面枚举的遍历输出
public enum BooleanEnum { TRUE(Boolean.TRUE, "是"), FALSE(Boolean.FALSE, "否"); private final Boolean value; private final String info; private BooleanEnum(Boolean value, String info) { this.value = value; this.i
2021-10-13 13:03:53 255
Tomcat安装SSL证书步骤.txt
2020-01-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人