![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
个人技巧
Jhon_chu
这个作者很懒,什么都没留下…
展开
-
实现自增功能
private String createAutoID() { String key = "serial.number:"; //** 自增 *//* long autoID = this.redisService.incrBy(key, 1l); return StringUtils.leftPad(String.valueOf(autoID), 4, "0"); }结果为 0001 ,0002,0003.........原创 2021-03-24 14:15:37 · 151 阅读 · 0 评论 -
多线程操作数据写入数据库
List<PostAddress> postAddressDetails = postAddressDao.getAllList(); if(CollectionUtils.isEmpty(postAddressDetails)){ return ; } Set<Long> list =new HashSet<>(); for (PostAddress postAd...原创 2021-02-23 13:47:51 · 1726 阅读 · 2 评论 -
spring security 和OAuth2 整合访问 localhost:8082/oauth/token 报401的问题,或者403的问题
@Bean public PasswordEncoder passwordEncoder() { /** * 采坑 * spring-boot2 之后废弃了MD5,使用BCryptPasswordEncoder()加密; * */ return new BCryptPasswordEncoder();}注意在security的配置内中,要使用BCryptPasswordEncoder 加密,..原创 2020-12-20 19:06:11 · 2488 阅读 · 1 评论 -
循环树递归(表中设有parentid,id又可以当parenid)的情况
//首先从数据库中查出来所有的parentid为null的集合(就是第一层),放到一个list中 List<PrivilegeTree> privilegeTrees = privilegeTreeMapper.getAllPrivilegeInfo(); List<PrivilegeTreeData> tree = new ArrayList<>(); for (PrivilegeTree privilegeTree : priv.原创 2020-08-13 22:45:14 · 927 阅读 · 0 评论 -
谷歌的guava的工具类使用
工具类 就是封装平常用的方法,不需要你重复造轮子,节省开发人员时间,提高工作效率。谷歌作为大公司,当然会从日常的工作中提取中很多高效率的方法出来。所以就诞生了guava。guava的优点:高效设计良好的API,被Google的开发者设计,实现和使用 遵循高效的java语法实践 使代码更刻度,简洁,简单 节约时间,资源,提高生产力Guava工程包含了若干被Google的 Java项目...原创 2020-03-04 11:47:44 · 329 阅读 · 0 评论 -
spring事物
这里面有几点需要大家留意:A. 一个功能是否要事务,必须纳入设计、编码考虑。不能仅仅完成了基本功能就ok。B. 如果加了事务,必须做好开发环境测试(测试环境也尽量触发异常、测试回滚),确保事务生效。C. 以下列了事务使用过程的注意事项,请大家留意。1. 不要在接口上声明@Transactional ,而要在具体类的方法上使用 @Transactional 注解,否则注解可能无效。2.不要...原创 2020-02-24 16:03:25 · 185 阅读 · 0 评论 -
Java8中Collectors详解
https://blog.csdn.net/sl1992/article/details/98900343转载 2020-02-19 11:34:07 · 782 阅读 · 0 评论 -
docker 安装 本地gitlab
1.下载镜像docker pull beginor/gitlab-ce:11.0.1-ce.02.创建三个文件夹mkdir -p /mnt/gitlab/etcmkdir -p /mnt/gitlab/logmkdir -p /mnt/gitlab/data3.启动容器docker run \ --detach \ --publish 8443:4...原创 2019-05-24 11:58:38 · 420 阅读 · 0 评论 -
docker 搭建maven私服
下载一个nexus3的镜像docker pull sonatype/nexus3将容器内部/var/nexus-data挂载到主机/root/nexus-data目录。docker run -d --name nexus3 -p 8081:8081 -v ${HOME}/docker/nexus-data:/nexus-data sonatype/nexus3...原创 2019-05-22 20:04:29 · 180 阅读 · 0 评论 -
logstash 采集kafka日志的文件配置xx.conf
input { kafka { bootstrap_servers => "localhost:9092" topics => ["goods_mylog"] }}output { stdout { codec => rubydebug } elasticsearch { hosts => ["localhost:...原创 2019-05-30 10:14:31 · 966 阅读 · 0 评论 -
springBoot 与线程池 整合
package com.lyc.pay.config;import java.lang.reflect.Method;import java.util.concurrent.Executor;import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;import org.springframewo...原创 2019-05-30 15:43:24 · 1733 阅读 · 0 评论 -
docker 安装es和 kibana
1.下载镜像docker pull elasticsearch2.启动docker run -it --name elasticsearch -d -p 9200:9200 -p 9300:9300 -p 5601:5601 elasticsearch3.访问http://127.0.0.1:9200/4.安装kibanadocker run -it ...原创 2019-06-19 11:42:24 · 3155 阅读 · 1 评论 -
使用logstash 同步数据库到es
1.上传logstash-6.4.3.tar.gz到服务中2.tar –zxvf logstash-6.4.3.tar.gz3.cd logstash-6.4.34. bin/logstash-plugin install logstash-input-jdbc5. bin/logstash-plugin install logstash-output-elasticsearc...原创 2019-05-29 11:24:41 · 4580 阅读 · 1 评论 -
mac 环境docker 安装 es 集群
1首先要创建文件夹1.mkdir -p es/config2.cd es3.mkdir data14.mkdir data25.mkdir data3firewall-cmd --add-port=9300/tcp(mac 不需要)firewall-cmd --add-port=9301/tcp (mac 不需要)mkdir plugins1mkdir...原创 2019-05-29 20:39:17 · 1708 阅读 · 0 评论 -
mac 下 docker安装zook和 kafka
1.拉镜像docker pull wurstmeister/kafkadocker pull wurstmeister/zookeeper2.启动docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeperdocker run --name kafka01 \-p 9092:9092 \-e ...原创 2019-05-29 20:41:54 · 1715 阅读 · 0 评论 -
docker 安装 Jenkins
1.使用docker 安装jenkinsdocker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean 2.访问jenkins地址 80803.注意:第一次启动的时候正在加载jenkins大概会等待3-10分钟。4.解锁jenkinsdocker exe...原创 2019-06-03 14:10:08 · 231 阅读 · 0 评论 -
List 去重
List<UserPowerBikeArea> userGuidByEvArea = powerBikeBosAreaService.getUserGuidByEvArea(userPowerBikeAreaRequest); if (CollectionUtils.isNotEmpty(userGuidByEvArea)) { ...原创 2019-09-23 19:40:35 · 103 阅读 · 0 评论 -
springboot 实现redis分布式锁
随着现在分布式架构越来越盛行,在很多场景下需要使用到分布式锁。分布式锁的实现有很多种,比如基于数据库、 zookeeper 等,本文主要介绍使用 Redis 做分布式锁的方式,并封装成spring boot starter,方便使用一. Redis 分布式锁的实现以及存在的问题锁是针对某个资源,保证其访问的互斥性,在实际使用当中,这个资源一般是一个字符串。使用 Redis 实现锁,主要...原创 2019-02-25 19:47:31 · 5487 阅读 · 0 评论 -
SimpleDateFormat多线程时候使用
ThreadLocal可以确保每个线程都可以得到单独的一个SimpleDateFormat的对象,那么自然也就不存在竞争问题了。 private static ThreadLocal<DateFormat> threadLocal = new ThreadLocal<DateFormat>() { @Override prote...原创 2019-02-14 11:18:19 · 239 阅读 · 0 评论 -
List去重问题
面试中经常被问到的list如何去重,用来考察你对list数据结构,以及相关方法的掌握,体现你的java基础学的是否牢固。我们大家都知道,set集合的特点就是没有重复的元素。如果集合中的数据类型是基本数据类型,可以直接将list集合转换成set,就会自动去除重复的元素,这个就相对比较简单。如下示例:public class Test { public static void ...原创 2018-11-12 14:13:03 · 891 阅读 · 0 评论 -
java中初始List的5种方法
1.构造 List 后使用 List.add 初始化List<String> stringList = new LinkedList<>();stringList.add("a");stringList.add("b");stringList.add("c");这种是常规方法,用起来不方便2.使用 {{}} 双括号语法List<Stri...原创 2018-11-09 09:55:57 · 7105 阅读 · 0 评论 -
java List 的subList分页(绝对好用)
int total = collect.size(); 这是个集合 int fromIndex = 0; // 从哪里开始截取 int toIndex = 0; // 截取几个 List<BusinessProcessSellDetailPojo> detailPojos=null; if (collect !...原创 2018-09-14 10:39:17 · 5500 阅读 · 0 评论 -
手机号中间用*号表示
public class MobileUtil { public static String getmobile(String mobile){ if(!StringUtils.isEmpty(mobile)){ String[] phone = mobile.split("\\+86-"); String join = ...原创 2018-08-14 14:55:15 · 1163 阅读 · 0 评论 -
java 流氏操作List
List<Map<String, String>> listMap = new ArrayList<>();String key = "yourKey";listMap = listMap.stream() .sorted(Comparator.comparingInt(map -> Integer.parseInt(...原创 2018-08-30 15:48:11 · 354 阅读 · 0 评论 -
计算当前时间加上天数
DateUtils.addDays('当前时间',天数) 等于未来的某个时间 Date格式原创 2018-10-16 14:45:06 · 2452 阅读 · 0 评论 -
如何相互转换逗号分隔的字符串和List
如何相互转换逗号分隔的字符串和List 如果程序员想实现某种功能,有两条路可以走。一条就是自己实现,一条就是调用别人的实现,别人的实现就是所谓的API。而且大多数情况下,好多“别人”都实现了这个功能。程序员有不得不在这其中选择。大部分情况下,程序员就会知道哪个用哪个,先看到哪个用哪个。到最后,在实际项目中,同样的功能会调用五花八门的API。我在公司的项目中就看到了这种情况。其实,也无可厚非...转载 2018-09-01 15:51:15 · 786 阅读 · 0 评论 -
springboot整合mybatis多数据源
application.properties#mysqlspring.datasource.primary.jdbc-url=@db.primaryUrl@spring.datasource.primary.username= @db.primarUsername@spring.datasource.primary.password= @db.primaryPassword@spr...原创 2018-11-12 10:38:54 · 382 阅读 · 0 评论 -
监听redis key失效时间
package com.eyee.community.config.redis;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.connec...原创 2018-12-08 19:54:25 · 1783 阅读 · 0 评论 -
springboot 启动加载数据到redis缓存
package com.eyee.community.config;import com.eyee.community.mapper.mysql.PostingMapper;import com.eyee.community.queue.BeanContext;import org.springframework.beans.factory.annotation.Autowired;i...原创 2018-12-08 19:55:06 · 13850 阅读 · 4 评论 -
springboot-自定义过滤器
** * @Auther: Jhon Li * @Date: 2018/12/20 11:51 * @Description: 过滤器 spring自己的可以用 component注解 来注入,如果是第三方就需要从新 通过 配置类来注入,config中 * * 缺点 :可以拿到http请求的原始信息,但是拿不到真正处理这个请求的方法信息 *///@Componen...原创 2018-12-20 20:22:45 · 1814 阅读 · 0 评论 -
springboot- 自定义拦截器
** * @Auther: Jhon Li 拦截器 * @Date: 2018/12/20 12:16 * @Description: 注意这里虽然申明了@Component 也要在config中的配置类做配置 * * 拦截器既能拿到原始的http的响应和请求,也能拿到真正处理请求的方法的信息,但是拿不到这个方法被调用的时候,被调用的值 * 缺点 : hand...原创 2018-12-20 20:24:54 · 167 阅读 · 0 评论 -
springboot -切片拦截
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>/** * ...原创 2018-12-20 20:27:14 · 537 阅读 · 0 评论 -
获取springboot中的上下文,获得bean
/** * @Description: 提供手动获取被spring管理的bean对象 */public class SpringUtil implements ApplicationContextAware { private static ApplicationContext applicationContext; @Override public void setAppl...原创 2019-01-10 21:26:49 · 3669 阅读 · 0 评论 -
json 转成对象,集合,
/** * @Description: 自定义响应结构, 转换类 */public class JsonUtils { // 定义jackson对象 private static final ObjectMapper MAPPER = new ObjectMapper(); /** * 将对象转换成json字符串。 * <p>T...原创 2019-01-10 21:28:13 · 1007 阅读 · 0 评论 -
java 面试题
JAVA基础##JAVA中的几种基本类型,各占用多少字节?类型 字节 占用位数byte 1 8short 2 16int 4 32long 8 64float 4 32double 8 64char 2 16boolean 1 8##String能被继承吗?为什么?不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变。平常我们定义的St...转载 2019-02-15 10:58:51 · 252 阅读 · 0 评论 -
JSON字符串中含有我们并不需要的字段
JSON字符串中含有我们并不需要的字段,那么当对应的实体类中不含有该字段时,会抛出一个异常,告诉你有些字段没有在实体类中找到。解决办法很简单,在声明ObjectMapper之后,加上上述代码:objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); ...原创 2019-02-22 09:51:22 · 700 阅读 · 0 评论 -
mybati 动态sql的 if语句
可以参照 @Select(value = "<script>" + " SELECT" + " com.id," + " tp.id AS topicId," + " pst.id AS postingid," + " tp.`name`,&quo原创 2018-11-13 15:51:37 · 165 阅读 · 0 评论