自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 越努力越幸运

不说累,因为没有成就;不偷懒,因为牛逼的人都还在努力。因此可以放弃选择,不能选择放弃。天道酬勤

2021-12-15 20:24:41 81

原创 JWT工具类

@Slf4j@Componentpublic class JwtUtil { /** * 过期时间改为从配置文件获取 */ private static String accessTokenExpireTime ="300"; /** * JWT认证加密私钥(Base64加密) */ private static String encryptJWTKey="a30ade645272536288ccae58570738ee";.

2022-05-24 10:01:22 155

转载 JWT详解

JWT简介1.什么是JWT在介绍JWT之前,我们先来回顾一下利用token进行用户身份验证的流程:客户端使用用户名和密码请求登录 服务端收到请求,验证用户名和密码 验证成功后,服务端会签发一个token,再把这个token返回给客户端 客户端收到token后可以把它存储起来,比如放到cookie中 客户端每次向服务端请求资源时需要携带服务端签发的token,可以在cookie或者header中携带 服务端收到请求,然后去验证客户端请求里面带着的token,如果验证成功,就向客户端返回请

2022-05-24 09:52:23 918

原创 HikariCP连接池

HikariCP连接池

2022-01-07 11:40:53 279

原创 Spring+JDBC配置多数据源

Spring+JDBC配置多数据源

2021-12-29 15:31:06 1452

原创 Redis数据持久化——快照RDB、AOF、主从复制

redis持久化

2021-12-17 08:00:03 438 1

原创 设计模式之单例模式

一、什么是单例模式单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。二、单例模式-饿汉式//单例模式 - 饿汉式public class HungryType { //私有化构造方法 private HungryType(){}; //静态实例化 private static final HungryType hungryType = new HungryType(); //调用方法 返回实例 public stati

2021-10-19 18:28:13 89

原创 CentOS8.2安装Nacos

一、下载1.地址:nacos下载地址2.选中文件下载二、安装1.下载完成后传输到centos8下并解压三、配置1.创建配置文件 配置开机自启vim /lib/systemd/system/nacos.service内容:[Unit]Description=nacosAfter=network.target[Service]Type=forkingExecStart=/opt/nacos/bin/startup.sh -m standaloneExe.

2021-09-11 17:21:34 388

原创 CentOS8.2安装jdk1.8

查看是否已安装java -version查看系统是否自带 jdkrpm -qa |grep javarpm -qa |grep jdkrpm -qa |grep gcj如果有先卸载rpm -qa | grep java | xargs rpm -e --nodeps安装yum install java-1.8.0-openjdk* -y

2021-09-07 19:12:17 294

原创 CentOS8.2安装MySQL5.7

一、检查环境1.查看系统版本cat /etc/redhat-release2.查看是否安装过MySQLsystemctl status mysqld.service二、下载并安装1.下载MySQL官方的Yum Repositorywget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm2.安装Yum Repositoryyum -y install mysql57

2021-09-07 18:05:52 277

原创 centos8.2安装redis

1.安装yum install redis2.启动systemctl start redis3.设置开机自启动systemctl enable redis4.修改配置打开/etc/redis.conf文件。1)允许远程连接找到下面这一行,注释掉:bind 127.0.0.1改为:#bind 127.0.0.12)启用密码找到# requirepass foobared一行,删除前面的#注释,然后将foobared改为你自己的密码。req

2021-09-07 16:25:47 230

原创 springboot踩坑之controller的private方法注入bean为null

bean在被扫描生成代理类的时候,private方法没办法正常代理。修改成public/protected 即可。

2021-07-28 08:57:13 978

原创 BeanPostProcessor源码解析

1.简介BeanPostProcessor是Spring IOC容器给我们提供的一个扩展接口。实例化Bean做前置处理、后置处理接口定义

2021-06-07 13:47:50 255 1

原创 Spring Bean生命周期

Bean的生命周期 :创建bean对象 – 属性赋值 – 初始化方法调用前的操作 – 初始化方法 – 初始化方法调用后的操作 – -- 销毁前操作 – 销毁方法的调用。

2021-05-31 09:44:51 86

原创 正则表达式 简易教程

正则表达式作用:在实际开发过程中经常会有查找符合某些复杂规则的字符串的需要,比如:邮箱、图片地址、手机号码等,这时候想匹配或者查找符合某些规则的字符串就可以使用正则表达式了。正则表达式是繁琐且它是强大的。^为匹配输入字符串的开始位置。 [0-9]+匹配多个数字,[0-9]匹配单个数字,+匹配一个或者多个。 abc$匹配字母abc并以abc结尾,$为匹配输入字符串的结束位置。runoo+b,可以匹配 runoob、runooob、runoooooob 等,+ 号代表...

2021-02-03 14:49:21 98

原创 @Resource、@Autowired和@Inject三者的区别

Spring中以上三个注解可以用来实现依赖注入,但在使用时知道三者的区别与联系是比较重要的一、@Resource使用注意事项@ResourcePersonDao personDao;1. 首先根据类名,将类名首字母小写得到personDao,然后去Spring的配置文件中寻找id为personDao的bean,即进行名称匹配2.若Spring的配置文件中没有id为personDao的bean,则再根据类型进行匹配,在配置文件中寻找class为PersonDao 的bean3.不支..

2021-02-03 14:42:34 503

原创 centOS7安装nginx及nginx配置

https://blog.csdn.net/qq_37345604/article/details/90034424

2021-02-02 20:36:03 99

原创 @Component, @Repository, @Service的区别

@Component, @Repository, @Service的区别问题1:在spring集成的框架中,注解在类上的@Component,@Repository,@Service等注解能否被互换?或者说这些注解有什么区别?回答1:引用spring的官方文档中的一段描述:在Spring2.0之前的版本中,@Repository注解可以标记在任何的类上,用来表明该类是用来执行与数据库相关的操作(即dao对象),并支持自动处理数据库操作产生的异常在Spring2.5版本中,引入了更多的

2020-10-22 16:07:34 304

原创 享学笔记:Spring注解之@Conditional

前言:@Conditional是Spring4新提供的注解,它的作用是按照一定的条件进行判断,满足条件给容器注册bean。源码:适用于方法和类上;需要传入一个Class数组且继承Condition接口。Condition是个接口,需要实现matches方法,返回true则注入bean,false则不注入。代码示例:创建一个Person实体类public class Person { private String name; privat.

2020-10-16 10:34:14 168

原创 享学笔记:Spring之@Primary注解使用

1,@Scope注解是什么@Scope注解是springIoc容器中的一个作用域,在 Spring IoC 容器中具有以下几种作用域:基本作用域singleton(单例)、prototype(多例),Web 作用域(reqeust、session、globalsession),自定义作用域。singleton单例模式 -- 全局有且仅有一个实例 prototype原型模式 -- 每次获取Bean的时候会有一个新的实例 request -- request表示该针对每一次HTTP请求都会产生一个新

2020-10-09 09:45:17 354

原创 享学笔记:Spring之@scope和@lazy注解

1,@Scope注解是什么@Scope注解是springIoc容器中的一个作用域,在 Spring IoC 容器中具有以下几种作用域:基本作用域singleton(单例)、prototype(多例),Web 作用域(reqeust、session、globalsession),自定义作用域singleton单例模式 -- 全局有且仅有一个实例 prototype原型模式 -- 每次获取Bean的时候会有一个新的实例 request -- request表示该针对每一次HTTP请求都会产生一个新的

2020-09-28 15:51:54 196

原创 享学笔记:Spring之@Import注解使用

@Import注解是用来导入类到IOC容器中@Import支持 三种方式导入1.@Import(class)直接导入2.ImportSelector 的实现3.ImportBeanDefinitionRegistrar 的实现测试小例子:首先创建3个类public class Test1 { Test1(){ } }public class Test2 { Test2(){ } }public class Test3 { Test3(){ } }...

2020-09-21 10:28:00 78

原创 享学笔记:Spring之ComponentScan包扫描注解使用

1.ComponentScan是什么@ComponentScan主要就是定义扫描的路径从中找出标识了需要装配的类自动装配到spring的bean容器中。@Controller,@Service,@Repository注解,他们中有一个共同的注解@Component,@ComponentScan注解默认就会装配标识了@Controller,@Service,@Repository,@Component注解的类到spring容器中。2.源码@Retention(RetentionPolicy.

2020-09-16 16:59:19 5689

转载 如何有效地报告 Bug

引言为公众写过软件的人,大概都收到过很拙劣的bug(计算机程序代码中的错误或程序运行时的瑕疵——译者注)报告,例如:在报告中说“不好用”;所报告内容毫无意义;在报告中用户没有提供足够的信息;在报告中提供了错误信息;所报告的问题是由于用户的过失而产生的;所报告的问题是由于其他程序的错误而产生的;所报告的问题是由于网络错误而产生的;这便是为什么“技术支持”被认为是一件可怕的工作,因为有拙劣的bug报告需要处理。然而并不是所有的bug报告都令人生厌:我在业余时间维护自由软件,有

2020-09-09 11:12:25 5435

转载 mysql自增id超大问题查询

引言小A正在balabala写代码呢,DBA小B突然发来了一条消息,“快看看你的用户特定信息表T,里面的主键,也就是自增id,都到16亿了,这才多久,在这样下去过不了多久主键就要超出范围了,插入就会失败,balabala......”我记得没有这么多,最多1k多万,count了下,果然是1100万。原来运维是通过auto_increment那个值看的,就是说,表中有大量的删除插入操作,但是我大部分情况都是更新的,怎么会这样?问题排查这张表是一个简单的接口服务在使用,每天大数据会统计一大批信息,然后推

2020-06-28 17:38:06 338

原创 Redis如何保证数据安全与性能保障

一、持久化 Redis提供了两种不同的持久化方法来将数据存储到硬盘里。一种叫快照(snapshotting),另一种叫只追加文件(append-only file,AOF) 。这两种持久化方法可以同时使用,也可以单独使用。1.快照redis可以通过创建快照来获得存储在内存里面的数据在某个时间点上的副本。redis持久化配置#RDB核心规则配置 save <指定时间间隔> <执行指定次数更新操作>,满足条件就将内存中的数据同步到硬盘中。官方出厂配置默认...

2020-06-28 11:39:02 5979

原创 redis常用命令与Java使用教程(一)

一、下载1.访问redis官网:https://redis.io/2.点击按钮开始下载redis最新稳定版3.下载不下来的这里提供一个5.0.9版本的:链接:https://pan.baidu.com/s/1Z8gD6NiZfrvriRit77hjkA 提取码:fv04二、windows启动打开cmd,cd到redis所在的文件夹内,执行命令:redis-server.exe redis.windows.conf三、Java验证redis是否启动成功1.引用jar包..

2020-06-23 17:26:11 4692

原创 Arrays.asList()源码解析--UnsupportedOperationException异常原因

1.asList()String arr[] = {"a", "b", "c", "d", "e"};List<String> list = Arrays.asList(arr);asList方法源码可以看到这里的 new ArrayList<>(a) 调用的是java.util.Arrays类的一个内部类。且a=Objects.requireNonNull(array);可以看到list数组是指向arr数组。2.add()、remove()内部类Ar

2020-06-17 10:44:12 189

原创 接口文档管理工具showDoc

随着互联网的发展,前后端分离已成为互联网项目开发的业界标准使用方式。由此而产生的前端开发工程师和后端开发工程师的沟通效率问题。推荐一个应此而生的文档管理工具---showdocshowdoc官网一、介绍1.ShowDoc是什么 每当接手一个他人开发好的模块或者项目,看着那些没有写注释的代码,我们都无比抓狂。文档呢?!文档呢?!Show me the doc !! 程序员都很希望别人能写技术文档,而自己却很不希望要写文档。因为写文档需要花大量的时间去处理格式排版,想着新建的

2020-06-16 16:54:39 5638

原创 使用策略模式消除过量ifelse

在阎宏博士的《JAVA与模式》一书中开头是这样描述策略(Strategy)模式的:  策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式的结构  策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:“准备一组算法,并将每一个算法封装起来

2020-06-16 10:03:12 4594

原创 统一规范-统一结果,统一异常,统一日志

目录统一结果返回统一异常处理统一日志收集统一结果返回目前的前后端开发大部分数据的传输格式都是json,因此定义一个统一规范的数据格式有利于前后端的交互与UI的展示。统一结果的一般形式是否响应成功; 响应状态码; 状态码描述; 响应数据 其他标识符结果类枚举前三者可定义结果枚举,如:success,code,message@Getterpublic enum ResultCodeEnum { SUCCESS(true,20000,"成功"),.

2020-05-27 20:00:49 486

原创 MyBatis映射之association和collection详解

一、引言一直对association和collection有点混淆,现整理一篇文章,用于加强记忆。二、associationassociation用于一对一、多对一场景使用。现在有2个表book表、bookshelf书架表。BOOK 字段名称 类型 备注 id int 主键 name varchar 书名 type int 类型 shelf_id int 书架id Book_shelf 字段名称

2020-05-18 14:45:07 13113 5

原创 深入浅出hashCode()和equals

一、目的 经典面试题,自己动手剖析,用于个人记录共同学习。二、equals简介1.equals和==区别1.==String str1 = "string";String str2 = new String("string");boolean b = str1 == str2;//false这里str1==str2比较的是对象的引用地址是否指向的是同一个对象。== 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个...

2020-05-15 09:27:54 106

原创 Java日志框架slf4j的使用

slf4j官网概念slf4j全称Simple Logging Facade for JAVA,java简单日志门面。是对不同日志框架提供的一个门面封装。可以在部署的时候不修改任何配置即可接入一种日志实现方案。和commons-loging应该有一样的初衷。也可以看做是一个日志工具管理推荐阅读:https://www.iteye.com/blog/singleant-934593依赖<!-- https://mvnrepository.com/artifact/org.slf.

2020-05-11 17:49:23 376

原创 java.math.BigDecimal详解及加减乘除计算

BigDecimal简介BigDecimal用来对需要更大或更小的数进行任意精度的运算。在需要精确的小数计算时再使用BigDecimal,BigDecimal的性能比double和float差,在处理庞大,复杂的运算时尤为明显。故一般精度的计算没必要使用BigDecimal。尽量使用参数类型为String的构造函数。BigDecimal都是不可变的(immutable)的, 在进行每一次...

2020-04-18 15:07:10 21264

原创 Spring Boot2 + mybatis、mybatis-plus多数据源配置

MyBatis多数据源配置1.pom.xml 引入依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> ...

2020-03-20 20:15:11 4637

原创 MyBatis一级缓存和二级缓存了解

MyBatis官网MyBatis拥有自带一级缓存和二级缓存一级缓存:MyBatis是默认开启一级缓存,一级缓存是指session缓存,它的作用域是一个sqlSession对应着一个缓存空间。当你再同一个sqlSession执行sql时,第一次会查询数据库,写入到缓存中,第二次会先去缓存中获取,没有命中就再次查询数据库。当执行增删改的操作时,MyBatis会把SqlSession对应的缓...

2020-03-18 21:34:58 673

原创 mybatis plus配置及使用

官网地址:MyBatis-Plus前言:mybatis使用方式是直接在xml中通过SQL语句操作数据库,包括简单的CRUD操作都必须要写SQL语句,而mybatis-plus的出现很好的解决了这个问题,很好的提高基于MyBatis 的项目开发效率。特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操...

2020-03-18 13:14:12 20549

原创 java面试题(简答版)

1.什么是面向对象(一切都是对象)面向对象的编程是以对象为中心,以消息为驱动,所以程序=对象+消息。封装就是将一类事物的属性和行为抽象成一个类,使其属性私有化,行为公开化,提高了数据的隐秘性的同时,使代码模块化。这样做使得代码的复用性更高。继承则是进一步将一类事物共有的属性和行为抽象成一个父类,而每一个子类是一个特殊的父类--有父类的行为和属性,也有自己特有的行为和属性。这样做扩展了已...

2019-03-28 16:05:11 2581

原创 Spring注解使用教程

1.@Component@Component是所有受Spring 管理组件的通用形式,@Component注解可以放在类的头上,@Component不推荐使用。@Componentpublic interface BubbleMapper {}2.@Controller@Controller对应表现层的Bean,也就是Action @Controller @Scope("prototype") public class UserController{ …… }.

2019-03-25 11:01:01 269

jianqiebanjljl.zip

剪切板工具

2020-05-18

空空如也

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

TA关注的人

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