自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

马哥在编程

一个CS渣硕士的日常记录

  • 博客(10)
  • 收藏
  • 关注

原创 红黑树原理详解与手写红黑树

红黑树原理详解与手写红黑树红黑树的性质:红黑树的性质红黑树示例图性质1:每个节点要么是黑色,要么是红色。性质2:根节点是黑色。性质3:每个叶子节点(NIL)是黑色。性质4:每个红色节点的两个子节点一定都是黑色。不能有两个红色节点相连。性质5:任意一节点到每个叶子节点的路径都包含数量相同的黑结点。俗称:黑高!从性质5又可以推出:性质5.1:如果一个节点存在黑子节点,那么该结点肯定有两个子节点红黑树并不是一个完美平衡二叉查找树,从图

2020-10-05 22:14:05 437 1

原创 Mac下IDEA自带MAVEN插件的全局环境配置

Mac下IDEA自带MAVEN插件的全局环境配置如果你使用的终端是zsh,需要做以下操作vim ~/.zshrc写入并保存如下语句source ~/.bash_profile现在的IDEA 自带maven库, 而且好像你用自带的maven配置给IDEA也改不过来,所以索性就用自带的maven配置好了我们把maven的目录写入环境目录中vim ~/.bash_profile把idea的maven仓库路径在文件中写入:export IDEA_MAVEN=/Applications/In

2020-08-28 15:28:23 2195 2

原创 重构大量if-else语句: 工厂模式+策略设计模式+模板模式

重构大量if-else叠加: 工厂模式+策略设计模式+模板模式现有三个简单的if-else判断逻辑业务代码,如下图所示这种嵌套几个其实还好,但是通常开发十几个if-else确实是家常便饭if-else的数量一多,代码非常臃肿,耦合性非常高如果需要增加或者删除一个if-else,就需要对代码进行很繁琐的修改,但是其实耐心点改起来还好,不过可能会掉头发哦并且这种if-else的编写破坏了设计模式六大原则中的里氏开闭原则(对拓展开放,修改关闭),不利于后续的变动和修改为了使代码符合优雅的设计模式和编码

2020-08-09 09:01:28 3758 1

原创 Mybatis Plus使用XML编写动态sql简易方法

五分钟学会Mybatis Plus动态sql,超简单在Resources文件夹下创建一个Mapper文件夹比如我们需要在User表中使用增删改查,创建UserMapper.xml,对应MybatisPlus中的UserMapper接口之后我们在application.yml中配置mapper文件夹的路径mybatis-plus: mapper-locations: classpath:mapper/*.xml之后在UserMapper中创建函数@Repositorypublic int

2020-07-21 21:24:53 20877 3

原创 微服务JWT安全密钥认证授权详解

微服务JWT安全密钥认证授权本篇文章以一个简单的wx小程序作为演示微服务登录分为有状态以及无状态登录方法有状态有状态登录方法依赖Session,将登录状态信息放置在Session中,并使用一个Session Store存储无状态服务器端不用去存储session状态,不会出现上述的负载均衡后服务器登录失效问题优缺点对比处处安全外部无状态,内部有状态网关认证授权,内部裸奔内部裸奔改进先在认证授权中心登录,登陆成功,颁发Token,用户携带Token去访问微服务

2020-07-19 09:12:41 5044

原创 Mybatis Plus代码自动生成工具类与Service,Mapper层写法规范

Mybatis Plus代码自动生成与Service,Mapper层写法规范使用自动生成器先引入依赖<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.3.1.tmp</version></dependency><dep

2020-06-11 15:12:59 2690

原创 五分钟学会Docker搭建Redis主从集群

Docker使用配置文件搭建Redis集群在正式项目的时候,搭建redis集群通常需要使用配置文件,这样能保证redis的可定制性。现在的网上的教程都较为简易,没有给redis设置安全密码,配置文件也很简陋,于是写这篇博客作为记录。我在搭建redis集群的时候遇到了如下问题,docker容器启动时,redis从机不能连接上redis主机,经常以 connect状态显示,正常连接应该显示 connected 状态,排查问题后发现原因是 masterauth 配置项需要配置,以下是完整配置流程:修改主

2020-06-11 10:14:47 162

原创 SpringBoot整合SpringMVC学习笔记

现在网络大多数教程都是直接上手springMVC,需要编写大量重复而又既定的配置文件。本次我们使用springBoot来进行springMVC的学习,使用springBoot可以节省掉很多编写配置文件的时间。springboot自动实现spring容器的托管,并且在application.yaml中对编码方式进行配置可以省去编码过滤器的配置,防止乱码,并且可以简化视图解析器的配置。阅读前需要有以下预备知识: JavaWeb 简单了解File类 IO流的简单使用Spring MVCSpring

2020-05-28 10:40:42 341

原创 基于SpringBoot的Mybatis Plus使用笔记

Mybatis Plus快速开始mybatis plus可以说是一款惊艳到我的插件,mybatis plus对mybatis做了一个全面的提升,不需要再写麻烦的mapper.xml,并且自带Basemapper不需要开发者写大量重复的sql语句,使用起来非常简单,能够节省节省大量的时间。但其在一对多或多对一映射的友好程度还不及JPA,需要自己手动实现手写sql语句以及自定义类。不过整体来说已经大大降低了mybatis的使用门槛引入依赖一个是springboot的集成依赖,一个是数据库连接池依赖

2020-05-16 10:58:01 387

原创 Spring 框架两大核心机制(IoC、AOP)

Spring 框架两大核心机制(IoC、AOP)IoC(控制反转)/ DI(依赖注入)AOP(面向切面编程)Spring 是一个企业级开发框架,是软件设计层面的框架,优势在于可以将应用程序进行分层,开发者可以自主选择组件。MVC:Struts2、Spring MVCORMapping:Hibernate、MyBatis、Spring Data如何使用 IoC创建 Maven 工...

2020-04-03 21:52:02 710

空空如也

空空如也

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

TA关注的人

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