
每日一写
文章平均质量分 55
Android_la
Java入门到进阶级别
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
对象转map导致@JSONField无效
文章目录1 问题背景2 问题原因3 解决方案1 问题背景对接支付渠道发起支付的时候,请求参数严格区分下划线格式,笔者使用了@JSONField,但发参数给对方后,对方却反馈没接收到参数或参数值不能为null。2 问题原因原因时是笔者的公司对RestTemplate.postForString()做了一层封装。导致用表单传输参数时会将对象转成一个map类型,转的过程中没有对@JSONField(name = "xx_xx")做处理。3 解决方案@JSONField是阿里fastjson对.原创 2022-05-29 14:52:11 · 1105 阅读 · 0 评论 -
用正则表达式剔除文本中的html标签
文章目录1 问题背景2 思路3 解决方案4 解释1 问题背景对接支付渠道的发起支付的接口的时候,要求传商品长描述,而商品长描述有很多html网页标签,比如<h1></h1>、<p></p>等。需要将这些标签剔除掉,只传纯文本。2 思路用正则表达式,把这些标签都匹配上,然后用空字符串替换掉。3 解决方案代码如下:public class Processor { private static final String REG_.原创 2022-05-28 23:01:29 · 915 阅读 · 0 评论 -
毕业一年我与Java的故事
1 自我介绍还有一个月就毕业一年了,从2020年7月开始暑期实习,辗转换了好几份工作,到今天2022年5月24日为止,满打满算有工作1年半了。科班出身,基础不扎实。2 为什么选择Java科班出身,在大学里面基本都会知道前端、后端这两个出路。对前端没兴趣,又从大一开始没打算考研,就决定选择走后端的路线了。身边的人(师兄师姐们)都说Java好找工作,并且自己对Java有那么一点兴趣,也就选了Java了。其实现在看来,Java真的太卷了,门槛低,看看视频随便都能转行来Java。再者,大厂更需要的是那.原创 2022-05-24 22:20:56 · 1412 阅读 · 0 评论 -
为什么面试造火箭,工作拧螺丝
文章目录1 问题背景2 自我介绍3 为什么面试造火箭,工作拧螺丝3.1 业务方面3.2 优化方面1 问题背景笔者拿到一个给谷歌数据上报、Facebook数据上报做IP代理的需求,说白了就是发请求给谷歌、Facebook的时候用别的IP来发起。2 自我介绍未毕业实习半年,毕业工作半年,满打满算有一年经验了。计算机专业毕业。从事Java后端。此篇文章仅当随笔写写,有不同意见的小伙伴可评论区留言。3 为什么面试造火箭,工作拧螺丝3.1 业务方面首先在互联网这个行业,时间就是金钱,快一步把东西原创 2022-04-08 10:51:29 · 984 阅读 · 4 评论 -
启动报错Class path contains multiple SLF4J bindings
文章目录1 问题背景2 解决思路1 问题背景SpringBoot项目启动失败了,报错Class path contains multiple SLF4J bindings。大致意思项目中引入的依赖有多个slf4j的实现。我们知道slf4j只是一个门面日志接口,真正的实现有很多。项目中引入的某些依赖可能底层使用了slf4j的实现依赖。导致最终有多个slf4j实现的依赖冲突了。思路参考自:springboot 关于 Class path contains multiple SLF4J binding原创 2022-03-07 15:02:43 · 3804 阅读 · 0 评论 -
Java8流处理正序倒序排序
文章目录1 问题背景2 分析3 实现3.1 单字段排序3.2 多字段级联排序1 问题背景场景是电商查询优惠活动的活动列表,有8种活动。针对搭售类型的活动按照状态正序、优先级倒叙来排序。其余类型的优惠活动按照创建时间倒叙排序。2 分析考虑到只有8种活动中只有1种活动需要特殊的排序规则,那么就不在sql处书写控制搭售活动的排序代码,sql处默认使用大部分活动的排序规则——按时间倒叙,而搭售活动的排序在java代码层面控制,笔者使用Java8流技术来处理排序。3 实现3.1 单字段排序按.原创 2021-11-12 16:44:56 · 3179 阅读 · 0 评论 -
SpringBoot启动报错属性循环依赖报错
文章目录1 问题背景2 前言3 代码场景3 解决方案3.1 懒加载注入3.2 set方法注入1 问题背景SpringBoot项目启动报错。报错提示为某个类的A属性与B属性循环有依赖了。2 前言SpringBoot启动过程中是默认支持循环依赖(即A类中有B属性,B类中有A属性),笔者还不清楚为什么会发生循环依赖报错。3 代码场景发生报错的代码场景如下所示:public class X { @Autowrie private A a; @Autowrie原创 2021-11-11 14:20:20 · 1579 阅读 · 0 评论 -
NoSuchMethodError异常
文章目录1 问题背景2 解决方法3 造成的根本原因1 问题背景A项目为多模块项目,其中有B模块。B模块中调用到了C模块,使用了一个common-lang3工具包提供的方法isNoneEmpty()。然而B模块也有引入一个common-lang3的依赖。遇到了一个NoSuchMethodError异常。2 解决方法将common-lang3的依赖版本号升级。3 造成的根本原因参考自你真的知道 NoSuchMethodError 发生原因和解决办法吗根本原因是项目中存在两个版本的类,并且这原创 2021-08-23 21:09:49 · 677 阅读 · 0 评论 -
浅拷贝与深拷贝的实现
文章目录1 问题背景1 问题背景实现业务的时候,需要在旧的方法上做添加,但是又不能改变原有的数据,所以要采用深拷贝。简单研究了浅拷贝深拷贝的解决方案。参考自原创 2021-07-07 15:20:19 · 276 阅读 · 0 评论 -
批量更新或插入数据到数据库的意义
文章目录1 问题背景2 单体项目3 分布式4 意义1 问题背景进行数据库操作时,项目中常常见到批量插入或批量更新,而不是用Java的for循环执行DML操作。为什么要批量操作?其意义在哪里2 单体项目以前的老项目通常是单体项目,即一个服务器上面部署了Web应用、数据库、Redis、文件系统、消息队列等等。此种方式,各种组件之间的调用都不需跨越服务器,并发量不大的情况下能得到很快的响应。因此在单体项目上,无论是批量操作还是for循环操作,都不会有很多时间耗费。3 分布式当并发量加大,考虑到性能原原创 2021-05-08 18:17:25 · 529 阅读 · 0 评论 -
用XShell上传文件
文章目录一. 问题背景二. 步骤一. 问题背景此博客仅适用于电脑有XShell软件,没有Xftp软件。场景是需要上传文件到服务器上面。二. 步骤原创 2021-04-09 12:15:32 · 179 阅读 · 0 评论 -
关于时间的SQL条件查询
文章目录一. 问题背景二. 解决一. 问题背景在navicat书写sql语句时,有时候遇到关于时间字段的条件查询,比如where create_time >= “2021-02-05”,但是时间字段是DATE类型,这种写法无法正确条件查询二. 解决使用下面的写法即可:# TIMESTAMP会精确到时分秒where TIMESTAMP(create_time) >= "2021-01-27"# DATE不会精确到时分秒where DATE(create_time) >原创 2021-03-13 13:57:23 · 6585 阅读 · 0 评论 -
关于电商项目的库存
文章目录一. 问题背景二. 前言三. 库存3.1 可销售库存(S)3.2 订单占用库存(O)3.3 锁定库存(L)3.4 虚库存(V)3.5 调拨出占用库存(T)3.6 调拨中库存(A)3.7 不可销售库存3.8 库存公式一. 问题背景在看公司的电商项目中,关于创建订单的流程,涉及到加载sku信息,而加载sku信息涉及到了sku库存,数据库也有sku的库存表单独存在,其中的字段有可用库存、锁定库存、是否追踪库存、库存政策(是否允许超卖)等。所以去了解一下关于电商项目的库存概念以及业务场景参考自:电原创 2021-03-11 10:55:53 · 998 阅读 · 0 评论 -
@Autowired与@Resource的区别
一. 问题背景研究spring整合redis的时候,出现如下:@Autowiredprivate StringRedisTemplate stringRedisTemplate;有一次面试也问到过@Autowired与@Resource的区别参考自:知乎的秦子轩用户给出的回答二. 两者的区别处理这2个注解的BeanPostProcessor不一样:CommonAnnotationBeanPostProcessor是处理@ReSource注解的AutoWiredAnnotat.原创 2021-03-09 23:25:43 · 396 阅读 · 3 评论 -
如何访问docker nginx
文章目录一. 问题背景二. 前言一. 问题背景用docker方式把nginx部署在阿里云上面,在阿里云上面启动自己的应用程序(端口8083)。想要实现的效果是用nginx做反向代理,本地电脑发送请求,nginx收到请求后转发到8083的应用程序。但是一直无法正确访问nginx,做不出效果。二. 前言本篇只讲述...原创 2021-03-09 14:58:34 · 1228 阅读 · 0 评论 -
SpringBoot多模块引用报错
文章目录一. 问题背景二. 前言三. 解决方案四. maven-compiler-plugin与spring-boot-maven-plugin的区别4.1 maven-compiler-plugin4.2 spring-boot-maven-plugin五. 报错的原因一. 问题背景如下图所示,gmall项目里面有common、portal、redis3个模块。gmall项目为pom,portal模块为jar,portal引用common模块中的某些类。 把portal运行在Linux服务器上面,.原创 2021-03-07 21:44:35 · 1253 阅读 · 0 评论 -
基于SpringBoot的策略模式多实现类注入(Map注入)
文章目录一. 问题背景二. 研究一. 问题背景公司项目中用到了一个Map注入,如下:@Autowiredprivate Map<String, XXXService> discountInfoMap;二. 研究上面Map的注入方式是一个多实现类的注入。一般我们都是注入单个实现类,比如:@Autowiredprivate XXXService service;解释:@Autowired是按照byType注入的(即按照bean的类型),当XXXService有多个实现原创 2021-03-06 08:57:28 · 2863 阅读 · 0 评论 -
json串转成数组
文章目录一. 问题背景二. 解决方案2.1 关键2.2 代码一. 问题背景前端渲染模板,要求返回一个格式为[{key:xxx, value:xxx}]的数组,而后端返回的是一个json串,因此需要去修改后端返回的报文二. 解决方案2.1 关键最关键的是用到FastJson的JSON.toJavaObject()方法。我使用Lombok插件,所以实体类没有写setter、getter以及构造器等等2.2 代码@Datapublic class OrderVariantCustomize原创 2021-03-02 13:51:20 · 345 阅读 · 0 评论 -
Typora+Gitee+Picgo设置自动上传图片
文章目录一. 问题背景二. 准备资源三. 准备gitee仓库3.1 创建仓库3.2 创建token四. 安装并配置Gitee插件五. 设置typora自动上传图片六. 解决验证失败6.1 端口报错6.2 验证失败一. 问题背景希望使用typora插入图片时,能把图片自动上传到gitee,这样写出来的md文件里面的图片,在任何一处地方都能看到。比如把md文件的内容复制到csdn,图片也能看到。网上很多方案都是用七牛、github、sm.ms,七牛的域名好像要搞一个域名,github不稳定,csdn不能展原创 2021-03-01 11:46:42 · 447 阅读 · 0 评论 -
解决IDEA导入MAVEN项目,jar包没有引进来,比如报Cannot resolve symbol ‘Autowired‘
一. 问题背景报错Cannot resolve symbol 'Autowired'二. 解决是idea缓存的原因。删除./idea文件夹,再重新导入工程即可原创 2021-02-09 11:07:32 · 2136 阅读 · 0 评论 -
Docker安装MySQL8
文章目录一. 问题背景二. 安装步骤2.1 下载MySQL容器2.2 创建目录2.3 创建配置文件my.cnf2.4 创建并启动容器2.5 登录MySQL客户端并修改密码一. 问题背景docker已经创建了MySQL8容器,但是进入容器后无法登录MySQL,报错说无法找到socket文件。估计是安装MySQL8容器的时候某些设置没有配好二. 安装步骤2.1 下载MySQL容器docker pull mysql2.2 创建目录我需要对容器的数据挂在到宿主机中,所以先在宿主机创建目录,用来做挂原创 2021-01-30 11:40:42 · 406 阅读 · 0 评论 -
关于jenkins部署jar包到远程服务器上配置报错Message [Auth fail]]
文章目录一. 问题背景二. 解决一. 问题背景跟着b站java教程手把手教你Jenkins从环境配置到项目开发,用jenkins部署jar到远程服务器上报错。情况:jenkins所在服务器:ip地址A将jar部署到服务器:ip地址A也就是我jenkins和jar最终所在的服务器都是同一台二. 解决使用jenkins的Publish over SSH插件。需要配置的信息如下:要理解Jenkins所在的服务器,理解jar最终所在的服务器...原创 2021-01-16 23:31:58 · 682 阅读 · 0 评论 -
解决启动postfix报错找不到libmysqlclient.so.18文件
文章目录一. 问题背景二. 安装postfix并启动一. 问题背景在看java教程手把手教你Jenkins从环境配置到项目开发,跟着视频安装gitlab,但是在启动postfix报错了。参考自:安装postfix过程中报错找不到libmysqlclient.so.18文件二. 安装postfix并启动下载libmysqlclient.so.18文件:http://files.directadmin.com/services/es_7.0_64/libmysqlclient.so.18把该原创 2021-01-15 17:43:31 · 726 阅读 · 0 评论 -
为什么使用Iterator而不用for循环
文章目录一. 问题背景二. Iterator的作用一. 问题背景在debug Spring源码的run()方法时候,经常看到使用Iterator模式来遍历数据,而不是采用for循环。因此去了解用Iterator的作用以及for循环的作用参考自: java中为什么要使用Iterator,或者Iterator的用途是什么二. Iterator的作用...原创 2020-12-18 17:56:04 · 903 阅读 · 3 评论 -
关于Java的main函数入参args
文章目录一. 问题背景二. 解决方案一. 问题背景下载了nacos源码,用idea打开源码,启动console模块的main方法,然后报错db.num=0,nacos启动失败了。原因就是nacos默认是以集群模式启动,所以会报错。网上搜了很多方案都是说直接编辑nacos安装目录下的conf的xxx文件,设置set mode = standalone。然而我是用idea启动的,并非使用cmd启动。我就想怎么能在idea启动nacos前把set mode = standalone传进去呢?二. 解决方案原创 2020-12-18 17:15:16 · 295 阅读 · 1 评论 -
代办事项
文章目录一. 问题背景二. 计划2.1 2020-12-14一. 问题背景有目标、有动力地去学习。二. 计划开始于2020-12-142.1 2020-12-14序号事项持续时间备注1完成两道关于图的算法题原创 2020-12-18 13:35:24 · 405 阅读 · 0 评论 -
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such
一. 问题背景在新买的阿里云服务器上面安装MySQL8,然而在初始化MySQL的时候报错了,报错详情是./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory。二. 解决方案因为可能是新的服务器环境,上面很多依赖都没有,所以安装软件的时候遇到一大堆小问题,解决它很简单,它缺少啥就安装啥。我们使用如下命令:yum inst原创 2020-12-06 18:05:24 · 8822 阅读 · 3 评论 -
实习简要整理
一. 问题背景在公司实习,了解到并学到很多新方向的东西,这里做一下超级简单的整理,后期再深入学习二. 整理swagger、YAPI,两者的作用相似,前后端分离开发使用的对接工具前后联调的过程中,先定位问题,再动手改代码。修改原方法的时候要兼容其他调用者,否则另写一个方法来实现项目开发的过程中,要定好时间以及目标。每个阶段都定一个目标,以此推进项目进度优先处理500错误,优先查看服务器日志的报错信息(因此开发过程中需要适当加上日志打印)。一般是sql语句多/少了逗号,或者少了个字段原创 2020-11-28 15:33:32 · 260 阅读 · 0 评论 -
微服务暴露接口报错:feign/slf4j/xxx,或者load balance xxx
一. 问题背景项目架构是一个A项目定义了接口提供给其他项目调用,B项目调用A项目的接口,但是报错:feign/slf4j/xxx,或者load balance xxx二. 造成的原因这种报错情况,通常是因为某些jar包没有导入或者依赖没有下载成功。只要某些依赖设置了<optional>true</optional>,那么此依赖只能在它所在的项目使用。例子:比如A项目中某个依赖设置了<optional>true</optional>,即使B项目引入了A原创 2020-11-26 14:18:44 · 426 阅读 · 0 评论 -
Springboot控制台自定义打印logo
文章目录一. 问题背景二. 解决方法一. 问题背景想要实现自定义控制打印的logo,效果如下:二. 解决方法其实实现这个打印效果的,是一个叫banner的文件。首先在springboot项目的resource文件夹下面创建一个banner.txt文件前往ASCII Generator复制文字,粘贴到banner.txt文件中启动SpringBoot程序即可如果想要修改文字颜色,可以加上${AnsiColor.BRIGHT_MAGENTA},想要实现springboot的版本原创 2020-11-22 14:25:59 · 2005 阅读 · 0 评论 -
SpringCloud微服务使用Feign如何暴露接口并整合SpringBoot测试
文章目录一. 问题背景二. 解决方案2.1 实现生产者中的接口2.2 暴露接口2.3 远程调用2.4 SpringBoot整合测试2.5 开始测试一. 问题背景技术栈:SpringBoot+SpringCloud项目结构组织:项目由多个Module构成,而每个Module又由api模块、model模块、web模块构成需求:现在需要将A项目(生产者,或者叫服务提供者)的web模块中的某些接口暴露出去,要求在api模块中定义。使得B项目(消费者,或者叫客户端)能远程调用A项目暴露的接口备注:笔者对Sp原创 2020-11-21 17:06:15 · 9507 阅读 · 1 评论 -
gitee搭建hexo博客无样式
文章目录一. 问题背景二. 解决一. 问题背景本来是挂载到github上面的,发现部署后无法访问页面,原因是域名解析xxx.github.io为127.0.0.1。后来改为博客上传到gitee后,css,js等样式无法加载。二. 解决其实问题出在_config.yml文件。里面的配置:deploy: type: git repo: [email protected]:zilianggan/zilianggan.git branch: master说明:repo的值是clone地址的值还原创 2020-11-12 17:41:49 · 898 阅读 · 1 评论 -
关于动态sql的if判断字符串是否等于某个值造成条件查询失效
一. 问题背景使用mybatis写动态sql语句的时候,常使用<if>,这次遇到的问题是,使用<if>判断字符串类型的变量是否等于某个值,结果却不生效了。二. 造成无效的原因我们常用的是双引号套单引号,如下:<if test = " deptName != null and deptName != '' "> and name = 'zhangsan'</if>三. 解决方案使用单引号套双引号,如下:<if test = '原创 2020-11-05 11:07:59 · 2187 阅读 · 0 评论 -
nginx反向代理无效_以及_负载均衡无效
文章目录一. 前言二. 问题背景三. 解决方法3.1 解决问题一的方法3.2 解决问题二的方法一. 前言最近在公司实习感受到了自己是真的菜,项目用到了nginx,所以抽时间学点nginx玩玩。遇到了一两个非常坑的地方,来此做下笔记。希望对大家有帮助吧。冲!参考:bilibili的尚硅谷播放量最高的nginx视频,大家可自行去观看二. 问题背景操作系统:CentOS 7或者其他Linux内核系统Nginx:1.18.0 stable版Tomcat:Tomcat 9版本,配了2台浏览器:谷歌浏览原创 2020-10-02 19:58:51 · 1665 阅读 · 3 评论 -
关于git pull后有冲突的解决方案&idea的冲突处理界面如何操作
文章目录一. 问题beijing二. 解决方案三. 步骤(idea的冲突界面如何操作)一. 问题beijing情况:团队协作开发,大家都将代码push上去,但是有时会遇到push失败,报错原因是push之前要求pull,然后按照它说的去pull了,谁知pull之后就把本地代码覆盖或者有冲突出现。二. 解决方案git操作一律使用如下流程:先git add再git commit然后git pull再git push有冲突就解决冲突。三. 步骤(idea的冲突界面如何操作)首先在id原创 2020-08-10 09:48:38 · 3455 阅读 · 0 评论 -
img在div中水平且垂直居中
一. 问题背景情况:div包着一个img,要使img水平且垂直居中二. 解决方案最最最关键:div中的text-align:center;以及im中的vertical-align:center是必须填的,如下:<div style="text-align:center;" class="img"> <img style="vertical-align:center" src="/images/purchaseRate.png" height="50%" width="50%原创 2020-08-09 18:14:35 · 328 阅读 · 0 评论 -
解决MyBatis逆向工程_数据库字段的int型变成了Integer型_实现int型转成int型_超级详细
文章目录一. 问题背景二. 参考博客三. 数据库表的int型转为实体类的int型3.1 前言3.2 步骤四. 其他类型转换的方案4.1 方案一4.2 方案二五. Mybatis逆向工程类型转换的原理六. int型转成int型的实现原理一. 问题背景IDE: IntelliJ IDEA 2019.1版本后台: SpringBoot 2.3.1版本MySQL: 5.7.25版本情况:使用mybatis逆向工程生成实体类,但是数据库里面表的字段本来是int型,到了实体类就变成了Integer型,我的需求原创 2020-08-06 22:33:16 · 2415 阅读 · 0 评论 -
MyBatis generator逆向工程_超详细解说_0基础入门_一篇就够了
文章目录一. 问题背景二. 参考博客三. 效果图四. 搭建MyBatis逆向工程环境4.1 前言4.2 引入依赖4.3 创建mybatis generator需要用的数据源4.4 配置genreatorConfig.xml文件4.5 创建mybatis generator启动类五. 生成自定义注释5.1 问题背景5.2 实现自定义注释5.2.1 创建自定义注释的类5.2.2 引入自定义注释的类5.2.3 启动mybatis generator5.3 自定义注释的原理六. 官方提供的完整generatorCo原创 2020-08-05 22:28:08 · 800 阅读 · 2 评论 -
SpringBoot整合Mybatis启动报错Invalid Statement xxx not found
一. 问题背景springboot版本2.3情况:照着b站的雷神的视频写代码,全部无误,那些什么namespace、resultType也无误,都能对应得上,@MapperScan也加了,yml中也配置了mapper-locations: classpath:mybatis/mapper/*.xml。但是启动后,输入localhost:8080/emp/1就会报Invalid Statement xxx not found。真的很崩溃,全都无误,为什么会报错。我的情况可能很少人遇到,以下的方案不能解原创 2020-08-04 11:18:40 · 531 阅读 · 0 评论 -
SpringBoot2.x访问druid后台404报错
文章目录一. 问题背景二. 解决方案一. 问题背景SpringBoot2.3版本,使用druid-spring-boot-starter依赖,配置文件写好了,但是访问druid报错404。二. 解决方案首先网上大部分人说需要配置如下:stat-view-servlet: enabled: true确实首先要配置这个,因为高版本的默认是将StatViewServlet关闭了,所以要配置将其打开。原理:如果已经配置了,仍无法访问呢?99%都是yaml里面配置的格式有误,看看是否缩进了,看原创 2020-08-03 11:45:04 · 2181 阅读 · 0 评论