软件老王
码龄11年
  • 684,961
    被访问
  • 233
    原创
  • 2,183
    排名
  • 16,823
    粉丝
关注
提问 私信

个人简介:软件老王和他的IT朋友们,分享他们的技术见解和生活故事,喜欢的可以主页扫描「软件老王」二维码,关注不迷路,公号内回复关键字获取对应干货!

  • 加入CSDN时间: 2011-08-03
博客简介:

软件老王

博客描述:
公众号「软件老王」,软件老王和他的IT朋友们,分享他们的技术见解和生活故事。时间自由,接软件类人力及项目。
查看详细资料
  • 5
    领奖
    总分 1,681 当月 55
个人成就
  • 博客专家认证
  • 获得761次点赞
  • 内容获得642次评论
  • 获得2,029次收藏
创作历程
  • 4篇
    2022年
  • 37篇
    2021年
  • 106篇
    2020年
  • 114篇
    2019年
  • 2篇
    2018年
成就勋章
TA的专栏
  • java
    127篇
  • 工具
    10篇
  • 算法
  • 微服务实战系统专栏
    28篇
  • greenplum专栏
    13篇
  • 程序人生
    39篇
  • 中间件、数据库等
    18篇
  • python
    14篇
TA的推广
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 搜索
    elasticsearch
  • 服务器
    linux
请关注【软件老王】微信公号
20200914102428416.jpg 如对文章内容存在疑问,可在博客评论区留言,或关注: 软件老王微信公号发消息咨询
软件老王的课程:
小白快速入门springboot2.1.8
小白快速入门Spring Cloud Alibaba
小白快速入门greenplum
好友推荐:
python大佬:老猿Python
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

spring-mybatis两个标签与两个配置

关于spring-mybatis,有两个标签:@MapperScan 、@Mapper和两个配置:mybatis.type-aliases-package与mybatis.mapper-locations,经常在各个配置文件中看到,用于spring结合mybatis使用,有时候可能会有点弄混了,什么情况下必须使用?简单介绍下。
原创
发布博客 昨天 11:23 ·
14 阅读 ·
0 点赞 ·
0 评论

Invalid bound statement (not found)

Invalid bound statement (not found)
原创
发布博客 2022.05.15 ·
44 阅读 ·
1 点赞 ·
1 评论

java配置文件乱码,启动报错

java配置文件乱码,启动报错
原创
发布博客 2022.05.15 ·
55 阅读 ·
1 点赞 ·
0 评论

java启动命令日志输出重定向

1、问题描述java启动项目命令:nohup java -jar -server -Dserver.port=10001 -Xms1024M -Xmx1024M -Dspring.profiles.active=dev /usr/local/application/laowang/laowang.jar >/dev/null 2>&1 &执行起来是没问题,关于日志输出重定向,开始有点搞混了,记录下。2、解决方案1、首先要明确的是,nohup这些是在linux下执行的
原创
发布博客 2022.03.27 ·
1451 阅读 ·
1 点赞 ·
0 评论

Mybatis Generator使用小技巧

1、问题描述mybatis generator 简单说就是生成一些mybatis的公共方法,用了好多年了,一直也没记录过,最近使用稍微有了点变话,简单记录下,方便下次使用,也希望可以帮到其他人。2、解决方案最近使用主要有两点变化:(1)以前使用,指定了本地数据库驱动jar包,本次直接用maven,dependency指定下就好了,配置文件配置好后,团队人员都可以执行;(2)发现朋友使用的方式挺好的,就是初期开发过程中,不可避免的会增加或修改一些字段,xml中新加或者重新生成方法,都有点麻烦,通过新
原创
发布博客 2021.12.21 ·
489 阅读 ·
1 点赞 ·
1 评论

一次打包,多个环境运行(开发、测试、生产等)

1、问题描述以前常用的,使用maven插件根据不同环境(开发、测试、线上)打不同的包,方便吧? 也还可以,但是打各个环境的包配置文件不一样(maven打包是指定了编译配置文件,未指定不会打包进来),有时候包会出现混淆,影响使用;最近使用了jar启动命令指定profiles文件,个人感觉更加合理一些,不使用maven插件打包,就打一个包,在不同的环境下,配置不同的启动参数就可以了,启动命令只需配置一次,一个包,就能用到不同的环境,开发、测试、线上环境都可以用,简单介绍下。2、解决方案简单来说就是使用ja
原创
发布博客 2021.12.14 ·
565 阅读 ·
1 点赞 ·
0 评论

自定义注解+AOP记录访问日志

1、问题描述AOP拦截请求,记录请求参数、返回参数及响应时间,以前已经介绍过了,但是发现有个小问题,就是有些心跳或者仅仅是查询字典下拉框的请求,本身不用记录,排除的话,需要一个一个排除,有点麻烦,就用自定义注解对aop记录请求与返回做了个下改进,简单记录下。2、解决方案简单说就是新建个自定义注解标签,然后对需要记录日志的的方法加上标签就可以了。2.1 自定义标签import java.lang.annotation.*;@Documented@Retention(RetentionPolic
原创
发布博客 2021.12.02 ·
343 阅读 ·
2 点赞 ·
0 评论

java项目,记录页面修改值,内部打“官司”用

1、问题描述业务需求:项目中的配置信息,关系到程序跑出来数据准确性,需要记录下什么人、什么时间、修改了什么字段,原来值、最新值,以便回溯,防止扯皮,内部打“官司”用。2、解决方案通过java反射,后台程序比对前端传入值与数据库中值,并记录下来;2.1 测试实体类import lombok.Getter;import lombok.Setter;@Setter@Getterpublic class User { private String name; private S
原创
发布博客 2021.11.25 ·
842 阅读 ·
3 点赞 ·
1 评论

再议java日志管理logback

1、问题描述关于java中的日志管理logback,去年写过关于logback介绍的文章,这次项目中又优化了下,记录下,希望能帮到需要的朋友。2、解决方案这次其实是碰到了一个问题,一般的情况是,会单独在linux上创建个用户,线上和开发环境一样,这样脚本中假如有相对目录的话,也能保持一致,但是这次因为线上环境创建其他用户有问题,只能用root用户操作,导致logback定义的目录,开发和线上不一致,线上是root/***,开发环境没有权限访问该目录(开发环境使用的普通用户),所以logback的目录,
原创
发布博客 2021.08.25 ·
369 阅读 ·
3 点赞 ·
5 评论

提高实战开发效率n倍(0<=n<=100),IDEA插件及setting设置

1、背景描述开发工具Idea是程序员很重要的开发平台,通过插件或者setting设置,能明显提高开发效率,介绍下软件老王目前用的插件和setting配置,有需要的朋友可以参考下。2、解决方案插件都是老王目前在用的的,不分先后,不过有些老王感觉很小的点或者用的不多的,也就不说,老王目前使用idea是2019.1.3,因为某些配置怕升级idea版本有影响,就没升级,不过也无所谓。2.1 free mybatis plugin该插件作用是:可以从mapper类,跳转到对应的xml方法,该插件与Myb
原创
发布博客 2021.08.16 ·
206 阅读 ·
2 点赞 ·
1 评论

SpringBoot-AOP环绕通知记录日志/鉴权

1、问题描述微信公号h5开发,前后端分离,因为是在微信公号里面操作页面,还有涉及到不同手机操作也不一样,导致联调比较麻烦,定位问题也麻烦,以前写过通过aop记录所有前端http请求,就又拿出来梳理了下,记录日志,记录下,希望可以帮到有需要的朋友。2、解决方案项目是springboot项目,通过springboot-aop,配置环绕通知,记录调用地址、入参、返回参数、ip,同时记录执行时间等,以便定位问题。具体的入库就是弄个表,保存下获取到的值,这里就不多做介绍了。2.1 AOP简要说明(1)什么是
原创
发布博客 2021.08.13 ·
547 阅读 ·
3 点赞 ·
3 评论

Http调用-静态封装类(RestTemplate)

1、问题描述项目中封装了个restTemplate的静态调用类,分享下,希望能帮到需要的朋友。2、解决方案2.1 简要说明:以前用httpclient用的比较多,后来开始用restTemplate,查了两者的区别,大部分无非就是:(1)restTemplate是包含在spring包中的,使用起来更加方便一些,调用也简洁一些;(2)restTemplate的低层支持多种调用,比如:httpclient、HttpURLConnection等吧;​ 个人认为两者都是为了发送http请求,本质上
原创
发布博客 2021.08.10 ·
415 阅读 ·
2 点赞 ·
4 评论

一个神奇的标签-@PostConstruct

1、问题描述项目中封装了个restTemplate的静态调用类,统一调用外围接口,但是发现外围系统有些接口反应时间不稳定,还存在失败的情况,为了便于追踪问题,将对外围系统的入参和出参以及响应时间写入到数据库中,但是项目中都是通过静态类调用的,写入数据的方法是动态方法,无法使用,记录下解决方案,希望能帮助需要的朋友。2、解决方案2.1 简单介绍简单说就是用使用jdk提供的@PostConstruct这个标签来实现,先介绍下@PostConstruct这个神奇的标签。Java中该注解的说明:@Post
原创
发布博客 2021.08.08 ·
249 阅读 ·
1 点赞 ·
1 评论

沙雕Java端口进程

1、问题描述idea非正常关闭了,重启idea后,启动项目,发现一直报端口被占用,一般情况下通过在资源管理中,杀掉java.exe,重启idea就好了,但是也有例外,关闭idea,杀掉所有java.exe还是不行,只好通过netstat进行处理了。2、解决方案软件老王项目启动的端口为:10010(1)查询端口对应的进程 netstat -ano | findstr 10010(2)根据(1)查询到的pid,cmd中最后面哪一个,执行: taskkill -pid 42872 -f 如下图
原创
发布博客 2021.08.06 ·
69 阅读 ·
1 点赞 ·
1 评论

Mybatis Log不打印日志

1、问题描述mybasits log plugin是调试sql非常好的工具,可以将mybits赋值后,运行的sql打印到控制台,对于开发过程具有很好的帮助效果,以前介绍过,就不再累赘了,但是默认情况下是没有日志打印的,需要配置下。2、解决方案配置下日志输出:(mybatis-plus版本/mybatis版本)就可以了,在配置文件*.yml中配置下。mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdou
原创
发布博客 2021.08.06 ·
1658 阅读 ·
1 点赞 ·
1 评论

再议分页插件PageHelper

1、问题描述java分页以前介绍过pagehelper,最近项目中又用到分页,看了下,发现使用springboot下使用起来更加方便了,又系统看了看,分享下,希望能帮到有需要的朋友。2、解决方案2.1 官方文档还是那句话,官方文档才是yyds,地址:https://github.com/pagehelper第一个mybatis-pagehelper是源码实现,第二个springboot的是对第一个做了封装。目前springboot下最新的pagehelper版本是:1.3.12.2 具体配
原创
发布博客 2021.08.04 ·
580 阅读 ·
4 点赞 ·
3 评论

微信分享(JS-SDK权限签名算法)-Java实现

1、问题描述公众号中的H5有个业务场景,要分享页面给好友,但是因为是在微信中分享,分享的链接微信是不认的,需要首先使用签名认证,认证后才能分享,按照微信官网api,首先需要获取token,然后再根据token获取jsapiticket,然后再将随机数、时间戳、url等按照keyvalue排序加密去认证,java后端实现了下,分享下代码,给需要的朋友。2、解决方案2.1 官方文档官方文档才是yyds,首先查看微信开发者文档(https://developers.weixin.qq.com/doc/of
原创
发布博客 2021.08.03 ·
374 阅读 ·
1 点赞 ·
1 评论

java反射-变量键值对排序

1、问题描述因为要做API接口安全设计方案(已实现)(https://ruanjianlaowang.blog.csdn.net/article/details/118806853 ),牵扯到前后端加密签名,从前端获取json数据后,首先需要对json数据按照首字母进行排序,再按照key1value1key2value2进行加密(json数据从前端到后端,顺序会乱),结合网上的方案,使用java的反射机制,对键值对按照首字母排序加密。2、解决方案2.1 方案(1)使用@RequestBody将jso
原创
发布博客 2021.07.26 ·
158 阅读 ·
2 点赞 ·
6 评论

API接口安全设计方案(已实现)

1、背景网络安全方案,主要从数据加密与api接口安全两个方面考虑,数据加密https已经加密了,就不再次加密了;主要从api安全方面考虑。2、接口安全设计在代码层面,对接口进行安全设计一、使用token进行用户身份认证二、使用sign防止传入参数被篡改三、用时间戳防止暴力请求一、使用token进行用户身份认证用户身份认证的流程图如下:具体说明如下:1、 用户登录时,客户端请求接口,传入用户名和密文的密码2、 后台服务对用户身份进行验证。若验证失败,则返回错误结果;若验证通过,则生成一
原创
发布博客 2021.07.16 ·
3420 阅读 ·
16 点赞 ·
10 评论

java枚举转json

1、背景java后端的枚举类型,要展示到前端,提供给用户进行下拉选择,java后端需要封装enum为json字符串提供给前端,需要首先将枚举类型转为list,然后再转为json字符串。2、方案方案也很简单,使用EnumSet.allOf(TestEnum.class),将数据获取到再塞到list中就可以了。代码如下:import com.alibaba.fastjson.JSONObject;import java.util.ArrayList;import java.util.EnumSet
原创
发布博客 2021.07.12 ·
516 阅读 ·
1 点赞 ·
2 评论
加载更多