自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 微信小程序 不二博客星球

趁着周末无聊,做了一款博客小程序,记录日常工作中遇到的一些问题,方便在手机上温故。

2022-12-27 15:42:33 545 1

原创 一款工具集小程序,去水印、提取音频等工具应有尽有

聚能盒不出意外的话,该程序将会一直维护下去。使用过程中,有任何问题或需求,都可在小程序、公众号或者评论区留言,作者看到会第一时间处理。

2022-09-24 10:33:27 933 1

原创 微信小程序 宠物社区源码

宠物们的社交平台,可以在这里发布领养、寻宠信息。同时也提供了宠物社区,分享宠友们与爱宠的沙雕日常!!分为小程序前端、小程序后端、后台前端、后台后端四个项目。小程序前端使用 uniapp 框架,适配性多,在页面的打开和渲染效率上更快,可大大增加用户体验。后端使用 Java 主流框架 Springboot、Spring security、Redis、Mybatis-plus。后台前端使用 vue、ElementUI。后台后端使用 Springboot 框架,Spring s...

2022-04-10 14:45:37 7391 227

原创 Java中的锁你了解多少?

在多线程的编程中,我们经常会涉及到锁的使用。今天来聊一聊Java中的锁。

2023-02-03 09:24:22 409 1

原创 踩坑记录:消息推送已读未读

最初的设计是这样的,发送消息使用MQ异步发送,消息表中新增一个消息类型字段和接收的ID字段,消息类型分为角色、用户、小区、社区四种类型。回想上面的方案,虽然表中设计了阅读状态字段,但当消息不是按用户ID发送的时候,比如按社区发送,在消息表中是只有一条消息的,也就是说,一旦这个社区下任何一个居民阅读了这条消息,状态字段就会修改为已读,这就导致社区下其他居民看到这条消息的状态也是已读。但具体的业务中每条消息是有已读和未读的状态的,也就是说,用户点进消息详情,这条消息是要变为已读的。

2023-01-30 08:55:53 2204 2

原创 不要再重复造轮子了,这16个Java常用工具类,让生产力爆表。

在java的庞大体系中,其实有很多不错的小工具,也就是我们平常说的:轮子。如果在我们的日常工作当中,能够将这些轮子用户,再配合一下 的快捷键,可以极大得提升我们的开发效率。今天我决定把一些压箱底的小工具,分享给大家,希望对你有所帮助。首先出场的是 包下的 类,该类主要用于操作集合或者返回集合,我个人非常喜欢用它。在工作中经常有对集合排序的需求。看看使用 工具是如何实现升序和降序的:执行结果:② 获取最大或最小值有时候需要找出集合中的最大值或者最小值,这时可以使用 的 和 方法。例如:执

2022-06-25 13:51:43 1078

原创 Git 除了 pull 和 push 更能提高效率的命令

使用 Git 作为代码版本管理,早已是现在开发工程师必备的技能。可大多数工程师还是只会最基本的保存、拉取、推送,遇到一些 管理的问题就束手无策,或者用一些不优雅的方式解决。官方解释:当您想记录工作目录和索引的当前状态,但又想返回一个干净的工作目录时,请使用 。该命令将保存本地修改,并恢复工作目录以匹配头部提交。 命令能够将还未 的代码存起来,让你的工作目录变得干净。我猜你心里一定在想:为什么要变干净?应用场景:某一天你正在 分支开发新需求,突然产品经理跑过来说线上有 ,必须马上修复。而此时你的功能开发到

2022-06-07 10:43:18 216

原创 升级 SpringBoot 2.6.x 版本后,Swagger 没法用了

最近想体验下最新版本的 SpringBoot,逛了下官网,发现 SpringBoot 目前最新版本已经是 2.6.4 了,版本更新确实够快的。之前的项目升级了 2.6.4 版本后发现有好多坑,不仅有循环依赖的问题,连 Swagger 都没法用了!今天给大家分享下升级过程,填一填这些坑!一、聊聊 SpringBoot 版本首先我们来聊聊 SpringBoot 的版本,目前最新版本是 2.6.4 版本,2.7.x 即将发布,2.4.x 及以下版本已经停止维护了,目前的主流版本应该是 2.5.x 和 2..

2022-05-29 20:34:03 432

原创 SpringCloud OpenFeign + Nacos 使用实战

Nacos 支持两种 HTTP 服务请求,一个是 REST Template,另一个是 Feign Client。之前的文章咱们介绍过 Rest Template 的调用方式,主要是通过 Ribbon(负载均衡) + RestTemplate 实现 HTTP 服务调用的,请求的核心代码是这样的:@RestControllerpublic class ConsumerController { @Resource private RestTemplate restTemplate;

2022-05-23 11:22:12 2899

转载 总结 Spring 注入 bean 的四种方式

一提到 Spring,大家最先想到的是啥?是 AOP 和 IOC 的两大特性?是 Spring 中 Bean 的初始化流程?还是基于 Spring 的 Spring Cloud 全家桶呢?今天我们就从 Spring 的 IOC 特性入手,聊一聊 Spring 中把 Bean 注入 Spring 容器的几种方式。我们先来简.

2022-05-19 20:25:08 8331

原创 还在实体类中用Date?JDK8新的日期类型不香么?

今天想介绍的,就是我们再实体类中,很多时候会用到时间这个概念,比如说,记录的创建时间 CreateTime 或者说是某些需要确定的日期,在数据库存储的时候,毋庸置疑,肯定是 datetime 和 date 的数据类型,但是也有个别的比较过分,直接是用字符串,也就是varchar 来进行存储,而我们在之前是用 JDK7 的时候,我们创建时间的时候,很多时候都选择的时比较老版本的 Date、Calendar 以及 SimpleDateFormatter 等等。不过 java.util.Date 也是被诟病已久

2022-05-15 21:19:58 400

原创 第五章、异常、断言和日志

在理想世界里,用户输入数据的格式永远都是正确的,选择打开的文件也一定存在,代码永远不会出现 bug。然而,在现实世界中却充满了不良的数据和有问题的代码,现在我们来讨论一下 Java 程序设计语言处理这些问题的机制。人们在遇到错误时会感觉不爽。如果由于程序的错误或一些外部环境的影响,导致用户在运行程序期间做的所偶工作统统丢失,这个用户就有可能不会再使用这个程序了。为了尽量避免这类事情的发生,至少应该做到以下几点:向用户通知错误;保存所有的工作;允许用户妥善地退出程序。在测试期间,需要运行大量的检

2022-04-24 21:24:56 570

原创 @Retryable SpringBoot 实现优雅重试机制

一、@Retryable是什么?spring系列的 spring-retry 是另一个实用程序模块,可以帮助我们以标准方式处理任何特定操作的重试。在 spring-retry 中,所有配置都是基于简单注释的。在实际工作中,重试处理是非常常见的场景。比如:发送消息失败调用远程服务失败争抢锁失败这些错误可能是因为网络波动造成的,等待过后重处理就能成功。通常来说,会用 try/catch,while 循环之类的语法来进行重处理,但是这样的做法缺乏统一性,并且不是很方便,要多写很多代码。然而 spr

2022-04-17 16:42:16 273

原创 Spring Cache 优雅的方式使用缓存

一、介绍1、@Cacheable@Cacheable 根据方法对其返回结果进行缓存,下次请求时,如果缓存存在,则直接读取缓存数据返回;如果缓存不存在,则执行方法,并把返回的结果存入缓存中。一般用在查询方法上。常用属性属性名称描述value缓存名,必填,它指定了你的缓存存放在哪块命名空间cacheNames与 value 差不多,二选一即可key可选属性,可以使用 SpEL 标签自定义缓存的keycondition缓存条件,为 true 时,使其 @Cac

2022-04-10 20:51:56 1020 1

原创 @ConditionalOnProperty、@ConditionalOnBean 条件注解的使用

Spring 中提供了多种条件注解以实现在满足特定条件的时候才向 Sping 容器中注入指定的 bean;Springboot 中自动配置的原理也是基于各种条件注解,当我们引入某个依赖导致满足了注入某些特定bean的条件,这些 bean 就会被自动注入 Spring 容器中供我们使用。@ConditionalOnBean当指定的 Bean 存在时,则实例化当前 Bean。@ConditionalOnMissingBean与 @ConditionalOnBean 相反,当指定的 Bean 不存在时,

2022-04-10 13:50:09 1900

原创 第四章 接口、lambda 表达式与内部类

到目前为止,我们已经学习了 Java 中面向对象编程的核心概念:类和继承。本章将介绍几种常用的高级技术。一、接口1、接口的概念在 Java 程序设计语言中,接口不是类,而是对希望符合这个接口的类的一组需求。下面给出一个具体的示例。Arrays 类中的 sort 方法承诺可以对对象数组进行排序,但要求满足下面这个条件:对象所属的类必须实现 Comparable 接口。下面是 Comparable 接口的代码:public interface Comparable { int comparaTo(

2022-04-10 11:28:05 170

原创 第三章 继承

继承的基本思想是,可以基于已有的类创建新的类。继承已存在的类就是复用(继承)这些类的方法,而且可以增加一些新的方法和字段,使新类能够适应新的情况。一、类、超类和子类我们来回忆一下在前一章中讨论过的 Employee 类。假如你在某个公司工作,这个公司里经理的待遇与普通员工的待遇存在着一些差异。不过,他们之间也存在着很多相同的地方,例如,他们都领取薪水。只是普通员工在完成本职工作之后仅领取薪水,而经理在完成了预期的业绩之后还能得到奖金。这种情形就需要使用继承。为什么呢?因为需要为经理定义一个新类 Mana

2022-04-03 19:36:29 245

原创 第二章 对象和类

一、面向对象程序设计概念面向对象程序设计(OOP)是当今主流的程序设计范型,它取代了 20 世纪 70 年代的 “结构化” 或过程式编程技术。而 Java 正是使用了面向对象的编程思想。二、使用预定义类在 Java 中,没有类就无法做任何事情。然而,并不是所有的类都表现出面向对象的典型特征。例如,Math 类。可以直接使用 Math 类的方法,如 Math.random,而不必了解它具体是如何实现的,你只需要知道方法名和参数(如果有的话)。这正是封装的关键所在,当然所有类都是这样。但 Math 类之封

2022-03-26 14:18:51 247

原创 IDEA 使用小知识

一、功能类1、注释模板打开 settings 面板:File → settings → Editor → File and Code Templates → Files选择 Class,填入以下内容:/** * @Desc: * @Author: Lian * @Time: ${DATE} ${TIME} */public class ${NAME} {}当然 interface 和 enum 也一样,把 class 关键字修改为 interface 和 enum即可。配置完

2022-03-25 17:35:55 1682

原创 SpringBoot 快速集成 p6spy 监控 SQL 性能,Mybaties-plus

一、简介p6spy 是一个可以用来在应用程序中拦截和修改数据操作语句的开源框架。通常使用它来跟踪数据库操作,查看程序运行过程中执行的sql语句。简单来说,就是对 SQL 语句执行过程的监控。二、抛出问题首先来看一下 Mybaties-plus 的默认输出:我们期望的是打印出一条完整的 sql 语句,而不是带问号。甚至还想要看到每条 sql 语句的总耗时。这个时候,p6spy 就发挥出它的作用了。三、导入依赖pom.xml 中导入 p6spy 依赖 <dependency>

2022-03-24 16:03:15 1636 2

原创 windows 同时安装 MySQL5 和 MySQL8 版本

我们在开发过程中,可能会遇到一些旧项目中用的 MySQL5.7 版本,而较新的项目会用高版本的 MySQL8 版本。而这个时候我们又不能将旧版本的 MySQL 替换掉。现在来教大家怎么在 windows 中同时安装 MySQL5 和 MySQL8 版本。一、下载两个版本的 MySQL官网下载地址:https://dev.mysql.com/downloads/mysql/首先下载 8.0 的版本点击查看历史版本找到 5.7 版本二、解压将刚刚下载的两个安装包解压三、配置环境变

2022-03-23 21:38:39 11802 22

原创 Java 11 及以上版本没有 jre 的解决方案

解决 Java 11 及以上版本没有 jre1、首先命令行进入 jdk 根目录2、使用命令创建 jre在 jdk 根目录下,使用以下命令手动生成 jrebin\jlink.exe --module-path jmods --add-modules java.desktop --output jre可以看到已经生成了 jre...

2022-03-22 14:48:11 3241 1

原创 第一章 Java的基本程序结构

我们先来看一个最简单的 Java 应用程序,它只发送一条消息到控制台窗口中:public class FirstSample { public static viod main(String[] args) { System.out.println("Hello world!"); }}这个程序虽然很简单,但所有的 Java 应用程序都具有这种结构,因此还是很值得花一些时间来研究的。首先,Java 区分大小写。如果出现了大小写拼写错误(例如,将 main 拼写

2022-03-19 14:28:51 2536

空空如也

空空如也

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

TA关注的人

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