自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Boot(二十):RedisTemplate的序列化

RedisTemplate的键和值的默认序列化方式都是JdkSerializationRedisSerializer,这种序列化方式将Java对象序列化为字节数组存储到Redis中。

2025-04-11 21:11:29 650

原创 Spring Boot(十九):StringRedisTemplate的常用方法和注意事项

StringRedisTemplate的常用方法和注意事项

2025-04-11 21:05:38 463

原创 Spring Boot(十八):RedisTemplate和StringRedisTemplate

RedisTemplate是Spring Data Redis提供的一个核心类,它是一个用于与Redis进行交互的Java模板类。StringRedisTemplate是Spring Data Redis提供的一个专门用于操作Redis中字符串类型数据的模板类。

2025-04-08 20:48:10 872

原创 Mac下Redis的安装和配置

在Mac系统下安装和配置Redis可以通过多种方式实现,现在我们简单介绍一下适合大多数用户的,安装和配置都非常简单的使用Homebrew安装Redis。

2025-04-08 20:43:15 130

原创 Spring Boot(十七):集成和使用Redis

Redis(Remote Dictionary Server,远程字典服务器)是一个开源的、基于内存的数据结构存储系统,它可以用作数据库、缓存和消息中间件。

2025-03-23 23:05:34 814

原创 Spring Boot(十六):拦截器Interceptor

拦截器是一种AOP(面向切面编程)的轻量级实现方式,它允许我们在请求处理之前、请求处理之后及请求完成视图渲染完毕后执行一些自定义逻辑。

2025-03-23 23:01:51 559

原创 实战-MySQL5.7升级8.0遇到的四个问题

近期几个项目的MySQL由5.7升级到8.0,升级过程中遇到的四个问题

2025-03-22 12:57:37 545

原创 MySQL 5.7升级8.0报异常:ONLY_FULL_GROUP_BY

MySQL8.0默认的SQL模式包含了ONLY_FULL_GROUP_BY,MySQL5.7默认的SQL模式也包含了ONLY_FULL_GROUP_BY,但是MySQL5.6是不包含的

2025-03-22 12:20:30 880

原创 MySQL 5.7升级8.0报异常:处理新增关键字

MySQL 8.0版本相比5.7版本新增和删除了一些关键字,如果原来系统中一些表名或者字段名成为8.0中的关键字的话,系统会报异常

2025-03-21 09:13:48 907

原创 Spring Boot(十五):集成Knife4j

Knife4j是一个集Swagger2和OpenAPI3为一体的增强解决方案

2025-03-21 09:09:58 961

原创 Spring Boot(十四):集成Swagger2

Spring Boot中集成Swagger2

2024-09-13 22:23:10 1911 1

原创 MySQL中的字符串分割成多行

MySQL中把以某分隔符分隔的字符串分割成多行

2024-09-13 22:19:37 1527

原创 Spring Boot(十三):Lombok插件

Lombok可以帮助开发人员消除Java的冗长,节省开发人员的时间

2022-09-18 08:00:00 2358

原创 Spring Boot(十二):MyBatis-Plus的多数据源和分页

为什么需要多数据源同一个项目有时会涉及到多个数据库,这时我们就要配置多个数据源。配置多数据源的常见情况有以下两种:1)同一个项目中涉及两个或多个业务数据库,它们之间相互独立,这种情况也可以作为两个或多个项目来开发2)两个或多个数据库之间是主从关系,主库负责写,从库负责读多数据源的配置1、pom.xml配置在pom.xml中增加MyBatis-Plus多数据源依赖:<!-- MyBatis-Plus多数据源依赖 --><dependency> &

2022-05-09 20:02:37 3795

原创 Spring Boot(十一):MyBatis插件之MyBatis-Plus

MyBatis-Plus简介MyBatis的插件MyBatis-Plus,又叫苞米豆(baomidou),简称MP,官方说,它是为了猿类崛起而生,为了提高生产率而生,为了简化开发而生,不管它为了什么而生吧,反正是它出生了。MyBatis-Plus对MyBatis只做增强不做改变,所以引入它不会对现有工程产生影响,只需要做简单的配置,就可以快速进行单表的CRUD操作,从而节省时间,提高效率。MyBatis-Plus插件有很丰富的功能,比如:单表CRUD操作、代码生成、自动分页、逻辑删除等。My

2022-04-17 20:00:00 1724

原创 Spring Boot(十):Druid的监控统计和多数据源配置

Druid的监控统计Druid内置提供一个StatFilter,用于统计监控信息。下面我们就来做一些配置,启动Druid的监控。1、配置pom.xml<!-- druid数据库连接池 --><dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <versio

2022-03-12 20:30:00 5372

原创 Spring Boot(九):数据库连接池Druid

数据库连接池简介及Druid的使用

2021-12-07 21:20:36 1596

原创 Spring Boot(八):MyBatis的多数据源配置

为什么需要多数据源同一个项目有时会涉及到多个数据库,这时我们就要配置多个数据源。配置多数据源的常见情况有以下两种:1)同一个项目中涉及两个或多个业务数据库,它们之间相互独立,这种情况也可以作为两个或多个项目来开发2)两个或多个数据库之间是主从关系,主库负责写,从库负责读多数据源的配置下面我们通过一个示例来说明多数据源的配置1、配置文件配置在配置文件application-dev.yml中配置我们需要链接的数据库:blog和userspring: datasource:

2021-11-25 08:21:10 1217

原创 Spring Boot(七):集成MyBatis

MyBatis简介MyBatis是一款优秀的基于Java的持久层开源框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis避免了几乎所有的 JDBC代码及手动设置参数和获取结果集的工作。MyBatis可以通过简单的XML或注解来配置和映射原生信息,将接口和Java的POJO映射成数据库中的记录。POJO:Plain Ordinary Java Object,普通的Java对象集成MyBatis1、引入依赖在pom.xml中引入相关依赖:<!-- 连接mysql的必要

2021-09-05 19:20:09 300

原创 Spring Boot(六):一招学会Log4j2

Log4j2简介日志框架slf4j、j.u.l、log4j、logback、log4j2的比较和log4j2配置文件详解,请参考上篇文章《Log4j2使用详解》Log4j2实例下面我们通过实例来看看Log4j2在Spring Boot中的应用1、引入log4j2依赖Spring Boot默认使用LogBack,如果我们要使用Log4j2,需要从spring-boot-starter-web中去掉spring-boot-starter-logging依赖,同时显式声明使用Log4j2的..

2021-08-14 17:08:00 569

原创 Log4j2使用详解

日志框架简单比较(slf4j、j.u.l、log4j、logback、log4j2 )slf4j:slf4j是对所有日志框架制定的一种规范、标准、接口,并不是一个框架的具体的实现,因为接口并不能独立使用,需要和具体的日志框架实现配合使用(如log4j、logback、log4j2)。 j.u.l:j.u.l是java.util.logging包的简称,是JDK在1.4版本中引入的Java原生日志框架。 log4j:log4j是apache实现的一个开源日志组件。 logback:logback同样

2021-07-31 17:25:31 9762 1

原创 Spring Boot(五):基础配置

@SpringBootApplication@SpringBootApplication注解是加在项目的启动类上的一个组合注解,它由三个注解组成:@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan。@SpringBootConfiguration:表明这是一个配置类,开发者可以在这个类中配置Bean。@EnableAutoConfiguration:开启自动化配置,Spring Boot中的自动化配置是非侵入式的,在任

2021-07-25 16:40:13 199

原创 Spring Boot(四):工程结构

上篇文章中生成的web服务,项目结构如下:这是一个最简单的Spring Boot项目,项目结构说明如下:DemoApplication:带有main()方法的启动类static:放置静态资源文件templates:放置前端模版文件application.properties:配置文件DemoApplicationTests:单元测试类pom.xml:Maven构建说明文件我们文章中的所有实例都是基于前后端分离的,static和templates文件夹没有用,可以删除,同时

2021-07-17 17:07:19 443

原创 Spring Boot(三):开发一个web服务

下面我们通过IDEA来创建运行一个web服务1、打开IDEA,点击Create New Project2、选择Spring Initializr,Project SDK选择1.8,然后点击Next3、根据自己的项目信息,填写好下面的Project Metadata信息后,点击Next4、选择Web - Spring Web,然后点击Next5、填写项目名称和地址后,点击Finish6、查看启动类代码目录点开,可以看到DemoApplication类,这个类中有

2021-07-04 10:08:03 197

原创 Spring Boot(二):准备运行环境

Mac下安装Java 8系统:macOS Catalina 10.15.21、查看系统中是否已安装javajava -version若已安装,则会显示出java的版本号,比如:java version "1.8.0_151"若系统提示没有可使用的Java命令,说明这一版的Mac系统没有自带的jdk,需要自己安装2、安装Java 8打开官网:https://www.oracle.com/java/technologies/javase-downloads.html向下拉

2021-06-24 23:13:58 195

原创 Spring Boot(一):Spring Boot 简介

Spring Boot是什么Spring Boot是由Pivotal团队提供的全新框架,它是基于Spring 4.0设计的,且继承了Spring框架原有的优秀特性,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。另外Spring Boot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。使用Spring Boot有什么好处1、使编码变得简单2、使配置变得简单3、使部署变

2021-06-18 08:24:08 531

原创 Python中使用json.loads解析包含\n的字符串报错

Python中使用json.loads解析包含\n的字符串报错,示例代码如下:import json, pprint if __name__ == '__main__': json_str = '{\"id\":\"1\", \"content\": \"line1\nline2\"}' json_obj = json.loads(json_str) pprint.pprint(json_obj) 报错如下:json.decoder.JSONDecodeEr

2021-06-10 21:22:52 2469

原创 MySQL中的竖列变横列

工作中经常会用到竖列变横列的情况,下面通过一个实例来说一下实现竖列变横列的几种方式:创建数据库表:CREATE TABLE `student_score` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `user_name` varchar(32) NOT NULL DEFAULT '姓名', `subject` varchar(32) NOT NULL COMMENT '科目', `score` tinyint(1) N

2021-06-08 20:52:58 3336

原创 MySQL中的EXISTS用法

EXISTS语法:SELECT 字段 FROM table WHERE EXISTS (subquery); 参数:subquery是一个受限的SELECT语句(不允许有COMPUTE子句和INTO关键字)示例:SELECT * FROM A WHERE EXISTS (SELECT 1 FROM B WHERE B.id = A.id); EXISTS执行顺序:1、首先执行一次外部查询,并缓存结果集,如 SELECT * FROM A2、遍历外部查询结果集的每一行记

2021-02-21 22:03:33 51641 4

原创 MySQL中emoji表情包的存储问题

现象最近项目中存储emoji表情包的时候报错:### Cause: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x81' for column 'column1' at row 1; uncategorized SQLException; SQL state [HY000]; error code [1366]; Incorrect string value: '\xF0\x9F\x98\x81' for column

2021-02-17 15:17:10 1015

原创 Git 合并两个不同的仓库

应用场景:应用场景1:A公司的几个项目是找第三方B公司做的,每次发版上线的时候,A公司需要把B公司的代码合并到自己的代码库,然后发版部署应用场景2:有系统基础脚手架B,A系统是在这个脚手架基础上开发的,A和B不在一个git仓库中,有时候脚手架B也会更新迭代,这个时候就需要把脚手架B合并到已经开发的系统A中以上两个场景,都需要合并两个不同仓库的代码部署步骤:下载A公司的代码分支,并切换到test分支git clone https://git.test1.tech/project/A.

2021-02-16 21:35:27 613

原创 使用pdfkit生成网页的pdf 异常汇总

使用pdfkit生成pdf1. 采用Selenium、ChormeDriver和pdfkit生成网页的pdf2.使用pdfkit生成网页的pdf 异常汇总(本文)1、OSError: wkhtmltopdf reported an error代码示例:import pdfkit, time, pprintfrom selenium import webdriveroptions_chrome = webdriver.ChromeOptions()# 以最高权限运行opti..

2020-12-28 21:06:43 1860

原创 采用Selenium、ChormeDriver和pdfkit生成网页的pdf

原理: 使用Selenium + ChromeDriver打开页面, 拿到html 源码,然后再使用pdfkit生成pdf概念: Selenium:Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样 ChromeDriver:它是 google 为网站开发人员提供的自动化测试接口,是 selenium2 和 chrome浏览器 进行通信的桥梁 wkhtmltopdf:它是一个适用于多平台的ht...

2020-12-23 23:51:58 1627

dubbo-admin-2.5.10.war

dubbo-admin: 查看dubbo消费者与服务者的必备神器

2019-09-10

空空如也

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

TA关注的人

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