后端
文章平均质量分 62
weixin_43034862
这个作者很懒,什么都没留下…
展开
-
动态生成定时任务并管理
import com.newtv.cpms.common.util.ScheduleBeanUtils;import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.SchedulingException;import org.springframework.scheduling.TaskScheduler;import org.springframework.sc.原创 2022-04-26 09:55:59 · 413 阅读 · 0 评论 -
mysql登录报错:mysql: error while loading shared libraries: libncurses.so.5: cannot open
系统是redhad8,binary方式安装完mysql之后,mysql命令登录不成功,报错:mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory。按照百度的方法都不成功,应该和系统版本有关,后来自己想到一个方法:yum install libncurses*,完美解决问题。CentOS 8: Cannot prepar原创 2022-04-02 10:29:04 · 1996 阅读 · 0 评论 -
栈的深度以及stackoverflow解决方案
栈是一种逻辑数据结构,是JVM虚拟机中的一块内存区域,栈深度就表示着栈所占内存的大小,深度越大,代表可以执行的方法越多。栈的深度参考:https://blog.csdn.net/qq_28385797/article/details/534686651)StackOverFlowError:若Java虚拟机栈的内存大小不允许动态扩展,那么当线程请求的栈深度大于虚拟机允许的最大深度时(但内存空间可能还有很多),就抛出此异常2)OutOfMemoryError:若Java虚拟机栈的内存大小允许动态原创 2021-07-20 09:53:30 · 837 阅读 · 0 评论 -
保证接口的幂等性
幂等性原理和实现的几种方式:幂等性是分布式环境下常见的问题;幂等性指的是多次操作,结果是一致的。(多次操作数据库数据是一致的。)常见的解决幂等性的方式有以下:1.唯一索引;保证插入的数据只有一条;2.token机制;每次接口请求前先获取一个token,然后再下次请求的时候在请求的header体中加上这个token,后台进行验证,如果验证通过删除token,下次请求再次判断tokenhttps://blog.csdn.net/LiuAustin/article/details/104439239原创 2021-05-21 14:32:39 · 103 阅读 · 0 评论 -
elasticsearch 按照查询条件批量修改字段值
把所有不存在showTime属性的数据,设置showTime属性值=createTime属性值POST cms/_update_by_query{ "query": { "bool": { "must_not": [ { "exists": { "field": "showTime" } } ], "must": [ { "...原创 2020-11-11 14:11:00 · 1731 阅读 · 0 评论 -
springboot整合redis
实例化RedisTemplate<String, Object>package com.newtv.search.serviceapi.config;import com.newtv.search.serviceapi.common.RedisUtil;import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;import org.springframework.context.anno.原创 2020-11-02 14:19:57 · 128 阅读 · 0 评论 -
替换具体对象中的“null“属性值的字段值为null
在java对象中"null"属性值不太合理,用null来代替会更好public List<CmsContentDTO> deleteNullData(List<CmsContentDTO> newList){ Class c = CmsContentDTO.class; Field[] fileds = c.getDeclaredFields(); for(int i=0;i<newList.size();i++){ CmsCont原创 2020-09-11 16:32:18 · 954 阅读 · 0 评论 -
elasticsearch 同一个条件多匹配值查询
terms实现多值匹配channelCode.code是个listGET cms_45/_search{ "query": { "nested": { "path": "channelCode", "query": { "terms": { "channelCode.code": [ "0", "9999000011" ] } ...原创 2020-09-01 14:34:15 · 4885 阅读 · 0 评论 -
Gson JsonObject转String,Object转JsonElement,String转JsonElement
JsonObject转String:Gson gson = new Gson();String jsonString = gson.toJson(object);JsonParser jsonParser = new JsonParser();String转JsonElement:JsonElement appKey = jsonParser.parse("aaa");Object转JsonElement:JsonElement classifyElement = jsonParser.原创 2020-07-08 10:25:29 · 6471 阅读 · 0 评论 -
mybatis ${},#{}两种传参区别
#{}拿到值之后,拼装sql,会自动对值添加单引号”${}则把拿到的值直接拼装进sql,如果需要加单引号”,必须手动添加,一般用于动态传入表名或字段名使用,同时需要添加属性statementType=”STATEMENT”,使用非预编译模式。查询表明动态变换时可以使用${}方式传入表名查询排序order by XXX时使用${}方式凡是不需要单引号的参数传参 都要使用${}方式使用#可以很大程度上防止sql注入#{param} :以预编译的形式,将参数设置到sql语句中,Prepare.原创 2020-07-03 10:50:00 · 217 阅读 · 0 评论 -
nested嵌套查询和aggregations
嵌套查询查的secondCategory必须是[]这样的数据才可以,如下图classify是不可以的GET cms_5/_search{ "query": { "nested": { "query": { "match": { "category.id": {...原创 2020-07-03 10:21:11 · 762 阅读 · 0 评论 -
@JSONField(name = “XXX“)不生效
我项目是springboot ,@JSONField(name = "XXX")不生效,试了网上说的方法都不行网上说的配置启动项继承WebMvcConfigurerAdapter加上以下bean或者重写 下面的方法@Beanpublic HttpMessageConverters fastJsonHttpMessageConverters() { FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessag原创 2020-07-02 16:18:42 · 9450 阅读 · 0 评论 -
浏览器请求接口,返回字体显示不同原因分析
我原来的接口返回是第二张图的效果,修改后是第一张图的效果,单看返回的话只是以为是字体的问题,而且第一个在添加如下http配置之前还是乱码:http: encoding: force: true charset: utf-8 enabled: true修改后的代码直接返回一个对象,未做任何处理。分析原来的代码返回值不是直接返回对象,而是这样ResponseEntity.ok().header("Connection","keep-alive").body(data)原创 2020-07-01 17:13:06 · 436 阅读 · 0 评论 -
sql语句批量执行多条语句和执行一句IN语句对比
--一共费时0.005秒DELETE from pt_data_inbound_cms_h where id in(1,2,3,4,5);--一共费时0.004*5DELETE from pt_data_inbound_cms_h where id=1;DELETE from pt_data_inbound_cms_h where id=2;DELETE from pt_data_inbound_cms_h where id=3;DELETE from pt_data_inbound_cms_h原创 2020-07-01 15:31:39 · 945 阅读 · 0 评论 -
Premature end of Content-Length delimited message body 报错原因
我在读取es数据的时候报这个错。原因是:我配置了4个logstash实例读取同一个es的数据,当我关掉这四个logstash后es读取数据恢复正常原创 2020-06-30 13:56:38 · 3813 阅读 · 0 评论 -
Jackson 和fastjson的注解使用对比
Jackson下的@JsonInclude(JsonInclude.Include.NON_NULL)属性值为null的不参与序列化@JsonIgnore属性值不参与序列化@JsonProperty("title") jacson下的 返回序列化的属性值名称为title@JSONField(name = "title")fastjson下的 返回序列化的属性值名称为titlepublic String getName() { return name;}@J...原创 2020-06-24 17:59:47 · 437 阅读 · 0 评论 -
已知对象名和不知对象名时反射应用
反射获取类xxx有多个对象Class<?> val = xxx.getClass();获取类下的某个方法Method setHighLightName = val.getMethod("setHighLightName", String.class);//String.class根据自己方法参数定义执行某个方法String checkName = "aaa";setHighLightName.invoke(object, checkName);已知某.原创 2020-06-24 17:02:33 · 114 阅读 · 0 评论 -
如何快速删除一个对象内的某个属性
我首先想到的是转换成map,因为map.remove("")可以删除某个key值对应的数据,但是对象直接转换成map麻烦,直接转换会报错。发现spring有提供一个好方法,可以把一个对象a转换成b对象BeanUtils.copyProperties(a, b);有了这个方法,可以定义一个对象b把需要删除的属性从a中删除其他的属性都放到b中,就可以了。...原创 2020-06-20 18:12:05 · 1363 阅读 · 0 评论 -
如何获取一个set的第一个值,或者获取一个map的第一个key值
maps.keySet()是一个Set<String>的set遍历的方法有三种参考:https://www.cnblogs.com/austinspark-jessylu/p/7839820.html文章迭代的方式取maps.keySet().iterator().next()原创 2020-06-20 18:06:38 · 3718 阅读 · 0 评论 -
生成html格式的swagger文档
maven配置<!-- swagger2 --><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>RELEASE</version></dependency><dependency> <group原创 2020-06-20 17:56:33 · 436 阅读 · 1 评论 -
用swagger测试springboot项目中的controller接口
1.swagger环境配置:在需要使用swagger的模块pom下添加以下配置:<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>RELEASE&l...原创 2020-04-22 14:54:11 · 530 阅读 · 0 评论 -
Elasticsearch查询数据常用语句
单条件查询,以下两种查询结果相同GET cms_5/_search{ "query":{ "bool": { "must": [ {"match": { "year": "2018" }} ] } }}GET cms_5/_search{ "query": { "term"...原创 2020-04-17 13:57:03 · 2360 阅读 · 0 评论 -
Elasticsearch跨级群同步数据
logstash可以实现这个功能下载安装好logstash,我下载的是logstash-7.6.2,安装地址:https://www.elastic.co/cn/downloads/logstash官方文档参考:https://www.elastic.co/guide/en/logstash/current/index.html实现跨级群同步数据很简单,就配置个文件就好了,启动命令D:...原创 2020-04-16 14:23:40 · 360 阅读 · 0 评论 -
java并发编程面试题
Java并发编程73道面试题及答案 —— 面试稳了ImportNew 今天(给ImportNew加星标,提高Java技能) 转自:乌枭文章链接 https://blog.csdn.net/qq_34039315/article/details/785493111、在java中守护线程和本地线程区别?java中的线程分为两种:守护线程(Daemon)和用户线程(Use...转载 2019-02-01 16:10:59 · 123 阅读 · 0 评论 -
excell表数据导入出现异常空格不能删掉
EXCEL导入的奇怪空格下表列举了一些常用字符的转义序列。Unicode 字符值 转义序列 含义 类别\u0008 \b Backspace \u0009 \t 制表符 空格\u000A \n 换行 行结束符\u000B \v(参见此表后面的注释。) 垂直制表符 空格\u000C \f 换页 空格\u000D \r 回车 行结束符\u0020 空格 空格\u0022 " 双...原创 2018-11-06 15:58:58 · 836 阅读 · 0 评论 -
截取两个字符串中间的字符串
public String getCoupon(String couponinfo) {String coupon = “”;String regex = “减(.*)元”;//要获取减和元中间的字符串Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(couponinfo);// 匹配类w...原创 2018-11-06 15:49:44 · 2437 阅读 · 0 评论 -
unix时间戳转换成指定格式日期字符串
/*** Java将Unix时间戳转换成指定格式日期字符串* @param timestampString 时间戳 如:“1473048265”;* @param formats 要格式化的格式 默认:“yyyy-MM-dd HH:mm:ss”;** @return 返回结果 如:“2016-09-05 16:06:42”;*/public static String TimeSta...原创 2018-11-06 15:46:57 · 782 阅读 · 0 评论 -
XML解析成string
String data = XMLUtils.Progress_resultParseXml(xml);StringReader read = new StringReader(xml); InputSource source = new InputSource(read); SAXBuilder sb = new SAXBuilder(); org.jdom.Document doc...原创 2018-11-06 15:37:38 · 524 阅读 · 0 评论 -
遍历
遍历MapMap<String,String> map = getWXpayState(result);Iterator<Entry<String, String>> it = map.entrySet().iterator();while (it.hasNext()) {Entry<String, String> entry = it.ne...原创 2018-11-06 15:35:37 · 124 阅读 · 0 评论