java
如果丶可以坑
这个作者很懒,什么都没留下…
展开
-
两个module之间避免循环引用
如题,在spring 项目中,会依赖module,有时候会有交叉逻辑导致循环引用,遇到此问题可以通过写接口而进行隔离,在真正需要的项目中实现该接口。原创 2021-08-24 09:01:22 · 426 阅读 · 0 评论 -
flink中读取kafka消息写进es中消费进度过慢问题
问题:在数据量较小的时候,从kafka中读取消息并写入es,没什么问题。但是等数据量多的时候,发现读kafka消息向es写入速度明显变慢,出现了时间上较大的延迟。最后排查原因,发现是es有提交的机制,设置的最大的提交量是1,这样就会导致数据每来一条就要执行一次提交的操作,这样极大的拖慢了整个系统的处理速度。esSinkBuilder.setBulkFlushMaxActions(1);后面修改为 esSinkBuilder.setBulkFlushMaxActions(1000原创 2021-08-17 20:48:17 · 2638 阅读 · 0 评论 -
hibernate/SpringDataJpa使用@Query返回类型
对于@Query自定义查询时1、如果返回的是整张表数据,可以直接映射到实体类,用Bean或者List<Bean>皆可2、返回的是统计数据,那么可以用Integer接收,或者其他的类,这是单个数据的返回值,也可以直接映射3、当返回值是两列数据时,可以用Map映射,如果是多行可以用List<Map>映射,这时候每一行都被映射成一个Map。4、当返回值是两列及以上时,最好的办法就是用Object接收,多行用List<Object>映射,取到对应的值后,可以通过手原创 2021-07-24 09:45:32 · 1490 阅读 · 0 评论 -
两个byte数组拼接
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) Object src : 原数组 int srcPos : 从元数据的起始位置开始 Object dest : 目标数组 int destPos : 目标数组的开始起始位置 int length : 要copy的数组的长度通俗解释ASystem.arraycopy(bytes1,..原创 2020-09-04 16:22:19 · 1909 阅读 · 0 评论 -
springboot 将本地jar打包进jar
<dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <scope>system</scope> <version>1.0</version> <systemPat...原创 2020-07-28 17:07:16 · 280 阅读 · 0 评论 -
swagger2上传文件并保存
csdn中很多文章都给了如题的解决方案,这里我写的是我自己的写的解决方案。首先我这里上传文档是通过参数形式传输的,不是post形式,所以在写api时使用@RequestParam参数 @ApiOperation("添加App") @PostMapping("/addd") public ResponseEntity add(@Validated ApplicationForm applicationForm, @RequestParam("file") Multipart...原创 2020-07-07 15:34:35 · 1144 阅读 · 0 评论 -
mybatis学习(三)mybatis 高级查询
本章主要学习mybatis的高级结果映射,主要处理数据库一对一、一对多的查询一对一查询 还是使用的是前文的SysUser类,在SysUser类中增加SysRole属性private SysRole role;(1)使用自动映射处理一对一使用自动映射就是通过别名让mybatis自动将值匹配到对应的字段上,下面是根据自动映射的规则,在userMapper.xml中增加以下方法 <select id="selectUserAndRoleById" resultT...原创 2020-07-06 16:46:13 · 375 阅读 · 1 评论 -
mybatis学习(二)mybatis 动态sql
MyBatis的强大特性之一便是它的动态SQL,这里主要说下<if>,<choose>,<where>,<set>,<foreach>,<bind>。搭建mybatis(基于springBoot)和增删改查,见上文一、if <select id="selectByUser" resultType="com.lbc.mybatisDemo.book.model.SysUser"> select *原创 2020-07-01 14:58:05 · 274 阅读 · 0 评论 -
mybatis学习(一)mapper.xml解析和简单增删改查
前言搭建SpringBoot环境下的mybatis,详见《SpringBoot集成mybatis实践,源码》https://blog.csdn.net/qq_35642849/article/details/107038989正文一、解析mapper.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ..原创 2020-06-30 16:01:50 · 1287 阅读 · 2 评论 -
SpringBoot集成mybatis实践,源码
一、添加依赖<dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.2</version> </dependency> &l原创 2020-06-30 13:42:41 · 249 阅读 · 0 评论 -
spring boot项目启动报错:Failed to load property source from location classpath:application.yml
springBoot启动程序,启动不成功,但是不报错,于是用try…catch 捕捉错误。发现是如题的错误,在论坛里找了很多答案,但是都没有效果,万万没想到,读取yml文件是需要增加依赖的 <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> <version>1.原创 2020-05-20 17:12:36 · 205 阅读 · 0 评论 -
java 8 日期处理
java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API。Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限。新API基于ISO标准日历系统,java.time包下的所有类都是不可变类型而且线程安全。编号 编号 类的名称 描述 1 Instant转载 2020-05-09 09:23:14 · 168 阅读 · 0 评论 -
springBoot 动态绑定类
深度好文https://jiayouxujin.github.io/2019/04/20/java动态绑定和静态绑定详解/ 在写项目的时候,有一个项目是只能定义一个父类,但是根据数据类型的不同需要选取不同的子类。但是父类是不能访问子类的程序的,所以就必须在程序里去实现该功能。第一步,将父类看做一种类型,循环缓存所有该类型的子类。...原创 2020-01-16 16:44:35 · 487 阅读 · 0 评论 -
【java】 String类型的键值对,提取对象
Map类型的String Map map = JacksonUtil.toObject(json, HashMap.class); map.get("key");public class JacksonUtil { private static ObjectMapper mapper = new ObjectMapper(); static { ...原创 2020-01-15 09:46:05 · 2200 阅读 · 0 评论 -
restTemplate Post请求——(参数+body)请求
RestTemplate以更优雅的代码结构进行http请求。在post请求中,总会遇到参数和body同是请求的情况。其实post的请求大体上可以分为 header、query、body。 所以解决问题的思路就是三部分分别设置参数。 Map body = new HashMap(); body.put("1","1"); ...原创 2020-01-03 15:57:54 · 19143 阅读 · 2 评论 -
【java】位运算总结
之前先回顾基础知识1、字节:byte:用来计量储存容量的计量单位;位:bit2、1 byte = 8 bit3、Byte 是byte的封装类,如同Integer 和 int4、各种类型占用的字节数整形byte:1个字节 8位 -128~127short :2个字节 16位int :4个字节 32位long:8个字节 64位浮点型float:4个字...原创 2019-12-27 14:36:33 · 306 阅读 · 0 评论 -
java父类子类继承问题
java的子类继承父类,在初始化时,初始化子类可读取父类的方法,但如果初始化父类,则不可读取子类的方法。 创建对象时,Father c = new Child() 子类继承父类时,针对覆写的方法,调用的是子类方法,在静态属性上,不存在覆写,还是用的是父类的属性public class Father { protected int age; public...原创 2019-12-25 17:01:14 · 321 阅读 · 0 评论 -
swagger ui 本地可以访问,服务器访问不了
现象1、程序发布之前360浏览器的http://localhost:8888/swagger-ui.html能正常访问,http://192.168.1.112:8888/swagger-ui.html 不能访问现象2、程序打包jar发布之后,通过360浏览器白页解决 1、因为我在程序里加了地址拦截 addInterceptors ...原创 2019-12-13 11:38:35 · 12294 阅读 · 1 评论 -
【springBoot】基于jwt的token验证
参考博客:https://www.liangzl.com/get-article-detail-39644.html一、添加依赖 <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId>...原创 2019-12-13 10:24:35 · 369 阅读 · 0 评论 -
maven+springBoot瘦打包jar
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plug...原创 2019-12-12 18:02:11 · 224 阅读 · 0 评论 -
lambda比较两个list中值
List<Equip> equips = equipService.query(specification); List<Mileage> mileages = mileageService.queryAll(); List<Equip> equipList = new ArrayList<>(); ...原创 2019-12-11 19:09:34 · 3168 阅读 · 0 评论 -
lambda排序stream(). sorted()
自然排序 list..stream(). sorted()自然逆排序 list.stream().sorted(Comparator.reverseOrder())字段排序 list.stream().sorted(Comparator.comparing(Mileage::getDate)字段逆排序 list.stream().sorted(Comparat...原创 2019-12-11 14:28:36 · 758 阅读 · 0 评论 -
lambda :: 和计算list中某个字段值的总和
用lambda表达式计算一个list中的某个字段值的总和int total = List.stream().mapToInt(entity::getDistance).sum();解释:List是要计算的list,mapToInt是将实体类entity中的属性转换为int,最后是sum求总共,lambda的stream可以理解为时做了一个循环其中:: 也是匿名函数的一种转自:http...原创 2019-12-11 11:29:39 · 24538 阅读 · 1 评论 -
JPA 实体注释
@ManyToOne(fetch = FetchType.EAGER)fetch:加载策略eager是马上关联加载lazzy是只有get的时候加载@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "archiveTemplate", orphanRemoval = true)...原创 2019-12-11 11:20:52 · 204 阅读 · 0 评论 -
httpClient绕过ssl安全验证
针对http的数字证书过期情况,访问该地址时ssl验证不通过,临时急救办法就是跳过ssl的安全验证。在HTTPClient的api中提供了 setSslcontext 方法可以设置跳过ssl安全验证。 public static SSLContext createIgnoreVerifySSL() throws NoSuchAlgorithmException, KeyM...原创 2019-12-09 09:21:25 · 2057 阅读 · 0 评论 -
同一代码运行不同结果
在服务器上运行的是jar包程序,采用的是瘦打包,也是为了以后替换jar方便,但是这样的做法也带来其他问题,就是在本地运行的程序和在服务器上运行的结果不一样。排除了众多的原因之后,于是将所依赖的jar都替换成最新的。本地每次运行时都会生成最新的classes...原创 2019-12-06 17:40:39 · 1522 阅读 · 0 评论 -
@Autowired、@Resource 注解对象为空
如题,如果是spring项目,要确保该类是被注解@Service、@Component等,要被spring容器所管理。其次,运用注解的类,一定不能为new 所创建,一定是spring容器所管理,要不然也会显示注入为空,这里包括测试类的时候,@Autowired 注入为空...原创 2019-12-06 10:12:04 · 940 阅读 · 0 评论 -
long Time转date格式
long 格式的time转date private static SimpleDateFormat sf = null;long time = CommonUtil.parseBCDTime(times); Date d = new Date(time); sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");...原创 2019-12-06 10:08:44 · 768 阅读 · 0 评论 -
【gradle】idea gradle打包springbootJar
好久没写博客了,最近也遇到了一些技术上的坑,很多都是百度解决了,不太记得了。最近公司有个项目是用idea+gradle+springBoot的项目,想打个包在服务上做测试,于是需要用到打jar包。之前用的都是maven的方式,现在需要用到gradle,不得不说gradle确实是简洁强大,这里分享一些遇到的坑。 一、gradle 找不到plugin id “spring.boot...原创 2019-12-02 16:26:36 · 1101 阅读 · 0 评论 -
【gradle】idea瘦打包,外部依赖和本地程序分开
这个特别常见,因为我们自己的程序也许会经常改动,但是项目所依赖的jar一般都不会变动,或者说变动的频率不大,所以如果每次打包都是几百兆,往服务器上发布的时候,就显得特别麻烦。 从网上找到一些瘦打包的方式// 清除现有的lib目录task clearJar(type: Delete) { delete "$buildDir\\libs\\lib"}// 将依...原创 2019-12-02 16:31:30 · 644 阅读 · 0 评论 -
【java】学习之spring data JPA
访问数据库的方式大概可以分为两个流派:一个是以sql为中心,在jdbc上做封装;另一个流派则是以java entity为中心,以实体与实体关系映射,实体与实体操作会映射到数据库操作,spring data JPA则属于此类。第二中流派的好处,我想是可以最大限度的减少用户自己编写sql语句,尽量减少因sql而造成的错误,可维护性和迁移性更高。 最近项目中需要用到jpa,就简单的学...原创 2019-09-11 09:47:03 · 122 阅读 · 0 评论 -
restTemplate中put没有返回值,采用HTTPClient解决
好久没写博客了,最近做项目用到了http接口取值问题。瞬间就想到了用restTemplate去实现,但是中间有一个接口需要拿到put的返回值,但是restTemplate中的put默认无返回值。我的http请求体为body,格式为json类型。返回值都是void,于是到论坛里找解决方法,大部分给的方式就是restTemplate中的exchange,个人觉得实现比较麻烦。整了半天参...原创 2019-08-28 16:16:09 · 1602 阅读 · 0 评论