自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 springboot日志管理

2022-02-09 14:04:06 209

原创 微信扫码登录

2022-02-09 11:03:51 234

原创 私藏这些工具,个个能让你用到实处

在整理的过程中,我发现,很多网站,虽然不是每天都要打开,但都是必不可少的。因为这些网站,个个都能解你燃眉之急!稿定设计这个网站可以帮我定制自己开发过程中需要的图片,很实用的。不需要美工来修改了,自己就可以定制了。最让人省心的是,你不用操心尺寸大小和比例,直接修改文字,就可以快速生成想要的效果:一键智能抠图功能就这样一键就可以抠图,是不是很厉害。不用ps软件了,哈哈微云文档有...

2020-01-15 21:42:42 2048

原创 你可能不知道的开发小技巧或坑

Lombok注解Lombok的@Accessors(chain = true)注解链式风格构建实现原理Lombok的@Builder注解,建造者模式生成构建器@Builderpublic class User { String username; String password;}// 建造者模式构建对象User u = User.builder().u...

2020-01-15 21:17:31 937 1

原创 RabbitMQ利用延迟消息来做定时任务的时候,注意什么

今天遇到一个同事,说想用rabbitmq来做定时任务,我想着这很简单啊,就是利用它的延迟消息来做就是了啊。但是,问题是他也是这样做的,但是并没有延迟执行代码,而是立刻执行了。怎么回事?问题利用rabbitmq的延迟消息执行定时任务,没有定时执行。现在就来测试这个问题。我们写个测试方法来测试发送消息,并且延迟执行。@GetMapping("/sendMessage")public Str...

2020-01-13 21:42:12 984

原创 SpringCloud Alibaba组件Nacos的使用

微服务是现在最流行的技术框架,大多数公司已经开始搭建微服务作为新项目的开始。本人所在的公司也不例外。现在单体的项目,带来的麻烦越来越多,微服务更是体现了它的优越性。SpringCloud是java web领域的主流。但是,微服务中最重要的就是服务的注册与治理了。所以,本人在选择注册中心的时候,选择了alibaba的nacos组件。Nacos注册中心Nacos致力于帮助您发现、配置和管理...

2020-01-08 22:24:08 919

原创 SpringCloud之Nacos注册中心

SpringCloud之Nacos注册中心上一节中,我们已经搭建完nacos的环境,接下来就是代码中引用它了。服务提供者现在我们创建一个springboot项目,这个项目作为服务提供端。这个项目向注册中心提供服务接口,供客户端来调用。首先,就是pom.xml中添加依赖关系<dependencies> <dependency> <gro...

2020-01-08 22:20:26 1029 1

原创 SpringBoot2中,怎么生成静态文档

SpringBoot2中,怎么生成静态文档在实际开发过程中,我们通过swagger就可以生成我们的接口文档,这个文档就可以提供给前端人员开发使用的。但是,有时候,我们需要把我们的接口文档,提供给第三方合作公司怎么办?本人现在就遇到这个问题。我们的项目开发完成之后,也是前后端分离的模式。但是,第三方公司需要我们的接口文档,怎么办?那就需要我们把swagger的文档,生成静态文档才可以发送过去。...

2020-01-07 20:21:13 960

原创 Java中日期格式化带来的BUG,你看到了吗?

Java中日期格式化带来的BUG,你看到了吗?相信最近,大家看到了一些新闻,和程序有关。大家是不是觉得想笑。没错,就是日期格式化带来的笑话。在任何编程语言中,对于时间、数字等数据上,都存在很多类似这种平时一切OK,特定时间、特定环境出问题的情况。出现这种问题的根本原因还是我们对于各种数据结构的细节定义在开始的时候都不太注意,都是从每一次使用问题出现之后才开始有了“刻骨铭心”的认识。问题...

2020-01-03 20:57:18 1251

原创 继续探讨点赞功能模块设计

继续探讨点赞功能模块设计前几天我们设计了点赞模块的模块,大致思路就是:用户点赞,首先缓存到redis中进行保存,redis中既要保存点赞总数,还要保存点赞记录。然后定时执行redis数据到数据库中。但是,今天在资讯类项目的时候,遇到了一个问题。那就是用户点赞完之后,用户重新刷新界面,那这个界面点赞按钮应该高亮才可以。怎么实现?方案设计我们要保留住用户点赞行为,也要保留住该用户对某个文...

2020-01-03 20:40:29 1758

原创 springboot如何实现点赞功能

在资讯类的项目中,我们常常遇到文章评论和点赞等功能实现。但是这些功能再项目中是高频出现的,如果直接操作数据库的话,对数据库压力太大。那遇到这个问题怎么解决?redis缓存首先我们想到的就是添加缓存处理机制。用户点赞可以放在Redis中,然后持久化到数据库中。点赞、取消点赞是高频次的操作,若每次都读写数据库,大量的操作会影响数据库性能,所以需要做缓存实战知道了解决方案,我们就要去测试...

2020-01-03 20:38:22 8303 2

原创 elasticsearch怎么实现拼音首字母查询

elasticsearch英文查询在我们使用es的时候,简单的查询大家肯定都会了。利用springboot就可以实现基本的增删改查了。但是今天我们项目中就遇到了问题。百度查询效果演示:大家在搜索的时候,看到了吗?只要输入前面的字,百度就可以关联出关键字出来。有时候我们输入拼音:meinv,都可以查询出来。那我们想要实现这样的效果怎么做?环境安装elasticsearch安装 很简单这...

2020-01-02 08:55:31 3513

原创 es模糊查询的问题

es模糊查询的问题今天在遇到es查询的时候,遇到了难点,花了半天才发现问题原因。需求是:es实现模糊查询。相当于sql中的like %像%一样。但是在开发过程中,我使用了各种分词,各种查询代码,总是实现不了。问题:比如:我查询切片面包可以查询出来,但是我查询切面包就查询不出来。​ 原因是es默认采用了分词机制,导致我查询的时候,切面包没有放在一个分词中,查询不到。Mat...

2020-01-02 07:28:37 3437 2

原创 elasticsearch中英文搜索在kibaba中使用

elasticsearch中英文查询实战今天我们就来看看kibaba中怎么结合es来做中英文查询?需求项目需要就是通过用户输入的中文,英文关键字查询出我们的效果。比如: 雪花啤酒 需要搜索雪花、啤酒 、雪花啤酒、xh、pj、xh啤酒、雪花pj 。我们在百度搜索的时候一样,无论我们输入什么关键字,都可以对应查询出来。感觉很高大上的样子那es怎么实现这样的需求呢?拼音和ik分词器导入拼音分...

2020-01-01 22:31:15 1062

原创 前后分离中跨域问题

前后分离中跨域问题前言现在开发中,前后分离已经成为主流开发模式。通常我们后端只负责写接口,前端实现接口调用和页面设计就好了。这样的话,后端开发 人员也就轻松很多了。原来的还要开发界面,对于后端人员来说就痛苦了。问题在开发过程中,我们前端接口调用的时候,后端地址和前端地址不一致的情况,如果浏览器访问的话,就存在浏览器的同源策略限制,导致接口调用失败。那这就是跨域问题导致的。跨域:当协议...

2019-12-30 20:07:18 1008

原创 前端趋势预测,可靠吗?

前端趋势预测,可靠吗?​ 今天看到一个新闻,对一些调查研究,针对前端的开发趋势进行了探讨,并有人进行了2020年前端的总体开发走向进行了预判。微前端​ 第一次听到这个名词,我也觉得很陌生。在我们软件开发的后端中,有微服务一说。微服务就是把一个整体项目,根据业务不同,分割为几个不同的服务,各个服务有各自的数据库,单独部署,各个服务之间通过接口进行访问。​ ...

2019-12-29 19:21:24 877

原创 如果让你进入无互联网的世界会怎么样?

如果让你进入无互联网的世界会怎么样?今天看到了俄罗斯成功断开互联网的新闻,我震惊了。一个国家,成功断开了互联网,并且采用了自己的一套基础设施。测试从上周开始进行了多天,涉及俄罗斯政府机构、本地互联网服务提供商和俄罗斯本地互联网公司,目的是测试俄罗斯的国家互联网基础设施 RuNet 是否可以在不访问全球 DNS 系统和外部互联网的情况下正常运行。但是想象一下,如果你生活在一个山林中,没有无线...

2019-12-29 19:18:56 326

原创 Springboot接口鉴权简单方式

Springboot接口鉴权简单方式今天遇到需要给springboot单独的模块需要做接口鉴权的机制,因为我们是多模块开发的项目。为了接口安全,实现方式为:对称加密 白名单这种方式就从软件和网络二个方面进行了安全保障。拦截器类似于jwt那种方式,header中添加对称加密之后的sign,客户端请求中,需携带这个请求接口。服务器端拦截器中,获取该sign,如果解密成功,说明合法请求。pu...

2019-12-28 11:53:12 8092 1

原创 CloudToolkit大家使用了吗?一键部署

一键部署工具今天无意中看到一键部署工具,阿里的插件CloudToolkit。这是个插件,可以很好的和IDEA开发工具一起使用。以前开发模式我们是本地打包,然后把文件通过xshell工具上传到服务器,登录服务器后台,然后执行启动命令。有时候,我们会做很多无用功。比如:登录操作,密码忘记和修改错误等,来回操作太不方便。使用方法看到阿里的界面了吗,上面已经有idea的集成方法了。确保 In...

2019-12-28 10:14:20 969

原创 shiro知识点整理(三)

shiro知识点整理(三)shiro最核心的代码就是授权和认证了,也就是realm的实现类了。public class ShiroRealm extends AuthorizingRealm { @Autowired private SysUserService sysUserService; @Autowired private SysRoleService ...

2019-12-28 09:50:11 939 1

原创 shiro知识点整理

shiro知识点整理(二)用户登录时经常遇到的问题,用户密码加密机制,大家经常使用什么方法?我用的是SHA1256Util工具加密用户密码:获取bean工具类这个工具类,可以帮助我们得到我们想要的bean。shiro工具类然后我们需要定义一个shiro的工具类,方便后面使用。/** * @Description Shiro工具类 * @Author Sans * @Cr...

2019-12-28 08:50:12 986 1

原创 shiro知识点整理(一)

shiro知识点整理(一)shiro是一个大家熟悉的权限控制框架,但是很多的细节大家有没有注意到。今天我就来分享下我使用过程中遇到的一个个细节问题。依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> ...

2019-12-27 20:45:38 874

原创 Es查询问题研究

Es查询问题研究今天在做es查询的时候,我们查询的结果和我们预期的不一样,原因是es默认给分词处理了。比如: { "_index": "commodity", "_type": "commodity", "_id": "1501009001", "_score": 1, "_source": { ...

2019-12-27 20:42:51 958

原创 springboot全局异常怎么处理

springboot全局异常怎么处理实际开发中,我们代码中异常情况肯定五花八门,在测试的情况下什么都正常,上线了就问题多多。那我们怎么才能对异常能全局去处理,方便记录和查找问题。异常分类看了这个图大概明白了我们异常该怎么去处理了吧。我们要拦截的异常就这样。RestControllerAdvice注解方式这个注解的使用:在请求到达controller之前的参数错误,请求方式错误,数据格...

2019-12-26 10:02:43 817

原创 Springboot解决项目中跨域问题

Springboot解决项目中跨域问题在项目实际开发中,前后端分离情况下,我们后端开发就要注意跨域问题导致请求失败。比如:前端vue请求接口,就出现下面的情况:解决方案前端解决:如果让vue前端来解决这个问题怎么办?vue采用axios请求,我们可以改变它的请求方式来达到我们的目的。这里不再讲解使用jsonp的方式来解决跨域,因为jsonp方式只能通过get请求方式来传递参数,而...

2019-12-26 08:59:37 883

原创 springboot项目中接口防止恶意请求多次

springboot项目中接口防止恶意请求多次在项目中,接口的暴露在外面,很多人就会恶意多次快速请求,那我们开发的接口和服务器在这样的频率下的话,服务器和数据库很快会奔溃的,那我们该怎么防止接口防刷呢?采用注解方式其实也就是spring拦截器来实现。在需要防刷的方法上,加上防刷的注解,拦截器拦截这些注解的方法后,进行接口存储到redis中。当用户多次请求时,我们可以累积他的请求次数,达到了上...

2019-12-26 07:05:35 5450 2

原创 springboot实现动态数据库切换

springboot实现动态数据库切换随着项目中的开发,有的时候我们项目需要可以从多个数据库查询结果。比如:user表从datasource来查询,user1从datasource1查询。具体的业务的话具体实现。那如果我们从springboot角度开发,怎么办?aop注解方式准备工作二个数据库和二张表建好了,其中testdatasource1为芳年25岁的张三, testdatasou...

2019-12-26 06:02:30 3211

原创 svn加锁功能

svn加锁功能今天在项目开发中,我们需要数据库设计,多个人参与的问题。但是,多个人同时修改数据库设计就会出现问题,产生冲突,怎么办?项目管理采用svn来管理,我们可以采用svn加锁的功能实现。锁严格加锁:所有签出的文件都是只读的,任何对文件的修改必须要获得文件的锁,如果其他人没有拥有该文件的锁,那么版本控制系统就会授权给你文件的锁,并将文件设置为可编辑的。乐观加锁:所有签出的文件都是...

2019-12-25 20:22:18 2316

原创 springboot中日志怎么管理

springboot中日志怎么管理日志对我们来说不陌生,我们可以根据日志查找我们的问题在哪,所以日志对于我们线上解决问题来说,帮助很大。但是,日志却占用我们系统资源,用的不好的话,就给我们增加了压力。比如System.out.println()就可以吃掉我们服务器很多的内存的。日志工具类似于Log4j,Log4j2,Logback这些日志工具我们该采用哪个更好?看下阿里的建议:也...

2019-12-25 20:21:15 890

原创 springboot中使用mybatis-plus

springboot中使用mybatis-plusMybatis-Plus是一个Mybatis框架的增强插件,我们可以继续使用xml的方式。SSM项目集成的话,更方便。我主要是介绍下plus带来的更方便的方法实现。 <!-- mybatisPlus 核心库 --> <dependency> <groupId>com.b...

2019-12-25 20:20:07 859

原创 Springboot接收时间参数

Springboot接收时间参数在工作中,前后分离情况下,我们前端给我们的参数中携带的是时间参数,比如yyyy-MM-dd HH:mm:ss,那我们的实体却是date类型,那肯定对应不上,会报错。我们该怎么解决时间参数问题呢?直接给大家说终极解决方案,就是采用ObjectMapper,全局拦截转换。下面就是具体的代码实现:/** * 日期转换配置 * 解决@RequestAttribu...

2019-12-25 19:41:24 4875

原创 SpringBoot缓存问题

SpringBoot缓存问题缓存在实际开发中肯定会遇到的,为了减轻数据库的压力,很多的项目都使用了缓存来达到数据快速访问,可以给用户达到良好的体验。不然,客户一个请求响应半天,谁受得了。但是,很多人在使用缓存中,会遇到缓存带来的麻烦。比如:数据库查询出来的数据和缓存数据不一致的问题。就是缓存滞后的问题导致的。开启缓存缓存的使用很简单,只需要在主类上加上@EnableCaching注解即可开...

2019-12-25 19:39:18 535

原创 springboot多模块项目打包

springboot多模块项目打包今天在项目开发中,项目经理说实现以下APP和web端单独打包功能实现。因为app和web端是单独的modules,这样的话,app的代码修改,不影响web端的代码。而且可以单独部署,方便维护升级版本升级。项目结构比如我们的项目就这样,怎么样才可以hr单独打包,user只需要添加下面的即可,不单独部署的项目不要添加下面的依赖<build>...

2019-12-25 19:28:38 831

原创 Jenkins执行linux脚本提示权限不够

Jenkins执行linux脚本提示权限不够今天在用jenkins部署项目的时候,在项目构建前要停掉前面部署的项目端口,不然构建后运行不了新的项目。我在构建前创建了stop.sh,并赋权限,chmod u x stop.sh.问题一切准备就绪,重新构建,居然报错了,构建失败。很显然是权限不够导致的,我们修改jenkins的权限即可。解决办法:进入/etc/sysconfig/je...

2019-12-23 20:05:26 2418 2

原创 if-else语句代码太多,怎么办

在实际开发中,往往不是简单 if-else 结构,我们通常会不经意间写下如下代码:if (money >= 1000) { if (type == UserType.SILVER_VIP.getCode()) { System.out.println("白银会员 优惠50元"); result = money - 50; } else if...

2019-12-23 20:04:28 1173 1

原创 springboot项目启动脚本

springboot启动脚本在我们项目开发的过程中,难免要把项目打包到服务器,然后停掉端口,然后重启项目。每次要在服务器中执行很多命令才可以停止,有没有办法解决呢?问题每次发布项目很麻烦,多敲很多命令解决办法写一个shell脚本,只需要写一行命令即可发布项目。#!/bin/bashSpringBoot="/demo/bgy-app.jar"#启动参数START_OPTS=$3...

2019-12-23 20:03:25 877

原创 Redis集群搭建

1.Redis简介 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持...

2018-01-09 14:12:35 484

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除