自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringSecurity配置及注解说明

一、配置准备1、引入相关pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> <version>2.0.4.RELEASE</version>

2021-10-25 22:27:47 1121

原创 dockerfile基本内容笔记

一、docker file的基本语句1、FROM基础镜像,当前新镜像是基于哪个镜像的。2、MAINTAINER用于标注镜像维护者的信息,如邮箱、姓名。3、RUN容器构建时所需执行的命令。4、EXPOSE当前容器默认暴露在外的端口。5、WORKDIR指定在创建容器后,终端默认登陆的进来工作目录位置。6、ENV用来在构建镜像过程中设置环境变量。7、ADD将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包。8、COPY类似ADD,拷贝文件和目录到镜像中。

2021-07-18 19:16:51 371 3

原创 Activiti7学习笔记———activiti进阶

一、流程实例1、通过Businesskey关联业务 /** * 启动流程实例,添加businessKey */ @Test public void addBusinessKey(){// 1、得到ProcessEngine ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();// 2、得到RunTimeService

2021-06-14 21:42:03 571 1

原创 Activiti7学习笔记———activiti基本介绍及使用

一、Activiti使用环境1、idea actiBPM插件的安装方式一通过idea搜索actiBPM来安装插件方式二通过去官网查找actiBPM插件将插件下载下来通过如图所示的方式安装插件2、Activiti所需环境部署1)创建maven工程,在pom.xml文件中添加activiti所需的各种jar包activiti-engine-7.0.0.beta1.jaractiviti 依赖的 jar 包: mybatis、 alf4j、 log4j 等activiti 依赖

2021-06-05 17:45:13 1346 1

原创 装饰者模式

1、uml类图2、两个对象主体:被装饰的对象(打包)包装:包装核心类,即各个在类中继承Decorator的调料类3、代码//包装核心类(包装)package test.decorator;/** * 包装类 */public class Decorator extends Drink{ private Drink drink; public Decorator(Drink drink){ this.drink = drink; }

2021-04-12 17:52:26 55

原创 桥接模式

1、UML类图2、代码抽象类/** * 抽象类 */public abstract class Graphical { Color color; public Graphical(Color color){ this.color = color; } public void showColor(){ color.color(); } public abstract void showShape();}具

2021-03-19 18:04:04 83

原创 适配器模式

1、适配器的角色1)目标(Target):使用的特定接口。2)被适配者(Adaptee):一个现存需要适配的接口。3)适配器(Adapter):负责将Adaptee的接口转换为Target的接口。适配器是一个具体的类,这是该模式的核心。2、类适配器类图代码适配器类/** * 电压适配器 */public class VoltageAdapter extends Voltage220V implements IVoltage110V { @Override public

2021-03-18 15:09:39 1342

原创 建造者模式

1、UML类图**简单介绍:**建造者模式可以将复杂对象的建造过程抽象出来这个抽象过程。建造者模式只需通过指定复杂对象的类型和内容就可以构建他们,用户不需要知道具体构建的细节。2、建造者模式的四个角色1)产品:建造的对象2)抽象建造者:指定产品的各个部件的接口或是抽象类3)具体建造者:实现接口,并构建各个部件4)指挥者:控制产品的生产流程3、代码抽象建造者/** * 抽象建造者 * 用于构建产品的流程 */public abstract class HouseBuilder {

2021-03-18 10:19:16 49

原创 原型模式

1、示例图2、代码实现原型模式的核心类/** * 1、实现Cloneable接口 * 2、实现clone方法 */public class Sheep implements Cloneable{ private String name; private Integer age; public Sheep(String name, Integer age) { this.name = name; this.age = age;

2021-02-26 10:05:37 84

原创 工厂设计模式

一、简单工厂(静态工厂)简单工厂即实例化工厂类调用创建方法获取对象静态工厂即直接调用工厂静态方法获取对象(示例)优点结构比较简单,易懂缺点违反了设计模式的ocp原则,即对扩展开放,对修改关闭。即当我们给类增加新功能的时候,尽量不修改代码,或者尽可能少修改代码.当我们新增加产品对象时我们需要修改代码,在其中新增一个判断。uml类图工厂类/** * 简单工厂模式 */public class SimpleFactroy { public static Produc

2021-02-07 09:35:25 149 1

原创 单例设计模式

一、饿汉式(线程同步)优点:线程安全缺点:在类加载的时候就已经实例化,没有达到懒加载的效果,若是没有使用实例,则就造成内存的浪费1、静态常量/** * 饿汉式一 */public class Singleton01 { private Singleton01() {} private static Singleton01 instance = new Singleton01(); public Singleton01 getInstance(){

2021-02-04 17:46:51 62

原创 shiro初始化资源和权限

1、shiro配置filterChainDefinitions实现初始化页面权限保护在正常情况下我们的资源和权限都是从数据库中读取出来的,而在shiro中通过配置文件中的ShiroFilterFactoryBean的filterChainDefinitions属性来配置各个页面的权限。 <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <proper

2021-02-04 09:57:06 270 1

原创 shiro权限注解

一、注解解释@RequiresAuthentication表示subject已经通过登录验证,才可使用@RequiresUser表示subject已经身份验证或者通过记住我登录,才可使用@RequiresGuest表示subject没有身份验证或通过记住我登录过,即是游客身份,才可使用@RequiresRoles(value={“admin”, “user”}, logical=Logical.AND)表示subject需要xx(value)角色,才可使用@RequiresPermissi

2021-02-03 16:32:03 2220

原创 shiro常用标签在jsp中的使用笔记

1、shiro标签的使用在jsp页面头部加上shiro标签库,即可使用shiro标签<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>2、常用shiro标签的介绍1)shiro:guest用户没有身份验证时显示相应信息2)shiro:user用户已经经过认证/记住我登录后显示相应的信息3)shiro:authenticated用户已经身份验证通过,即Subject.login登录成功,不是记住我登录的

2021-02-03 15:10:17 597

原创 shiro授权流程

1、授权需要继承 AuthorizingRealm 类, 并实现其 doGetAuthorizationInfo 方法(也可认证)public class MyRealm extends AuthorizingRealm 2、实现doGetAuthorizationInfo方法 /** * 授权 */ @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection

2021-02-03 12:00:56 279 1

原创 shiro多realm认证策略

1、多Realm配置配置多个realm方式一:配置securityManager的realms属性下配置多个realm <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager" > <property name="cacheManager" ref="cacheManager"></property><!--

2021-02-02 17:48:49 382 1

原创 shiro认证加密流程

一、shiro认证流程获取当前的 Subject. 调用 SecurityUtils.getSubject();测试当前的用户是否已经被认证. 即是否已经登录. 调用 Subject 的 isAuthenticated()若没有被认证, 则把用户名和密码封装为 UsernamePasswordToken 对象1). 创建一个表单页面2). 把请求提交到 SpringMVC 的 Handler3). 获取用户名和密码.执行登录: 调用 Subject 的 login(Authenticatio

2021-02-01 16:53:14 657

原创 shiro+springmvc的环境搭建

1、所需要的jar包 <!-- springmvc环境搭建所需jar --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.0.2.RELEASE</version> </dependency&gt

2021-02-01 15:30:11 114

原创 redis虚拟机与本地连接

1、配置redis.conf文件1)配置daemonize为yes2)修改bind为本机的ip地址ifconfig可见3)在配置文件中关闭保护模式,将protected-mode设置为no2、开放当前配置文件中配置的端口号1)开放当前配置的这个端口firewall-cmd --permanent --add-port=6379/tcp2)通过一下指令查看开放的端口firewall-cmd --zone=public --list-ports3、启动redis服务1)通过re

2021-01-27 09:21:14 619

原创 redis的主从复制笔记

1、是什么行话:也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主2、能干嘛读写分离容灾恢复3、这么用1)配从(库)不配主(库)2)在从库中使用slaveof主库端口每次与master断开之后,都需要重新连接,除非你配置进redis.conf文件Info replication可以查看配置情况3)修改配置文件细节操作①拷贝多个redis.conf②开启daemonize yes

2021-01-26 16:24:55 55

原创 Redis的事务笔记

1、redis的事务可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞2、redis事务常用命令命令功能discard取消事务,放弃执行事务块内所有命令exec执行所有事务块内的命令multi标记一个事务块开始unwatch取消WATCH命令对所有key的监视watch监视1个或多个key,如果在事务执行之前这个key被其他命令所改动,那么事务将被打断1)正常执行

2021-01-26 09:24:57 40

原创 Redis持久化之AOF笔记

1、AOF是什么?以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作2、配置文件appendonly:打开AOF配置appendfilename:配置AOF生成的文件名Appendfsync:配置记录数据的策略Always:同步持久化 每次发生数据变更会被立即记录到磁盘 性能较

2021-01-25 16:28:36 47

原创 Redis持久化之RDB笔记

1、RDB是什么在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加的高效。RDB的缺点是最后一次持久化后的数据可能丢失。

2021-01-25 15:16:29 98

原创 EasyExcel快速入门使用

一、Mavem配置 <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version&g

2021-01-20 09:19:29 678 2

原创 Linux之shell编程基本用法和语法笔记

1、脚本格式要求要用以下命令开头#!/bin/bash2、脚本的常用执行方式1)赋予脚本运行权限执行脚本2)通过sh直接执行脚本3、shell的变量1)LinuxShell中的变量分为,系统变量和用户自定义变量。①系统变量比如$HOME、$PWD、$SHELL、$USER②用户变量用户变量的定义:变量名=值撤销变量:unset 变量声明静态变量:readonly 变量注:静态变量不能unset变量的定义规则1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头。

2021-01-17 16:04:54 207

原创 Spring Security csrf的使用

1、在WebSecurityConfigurerAdapter配置类中不要配置(默认csrf是开启状态)//.and().csrf().disable(); /* 关闭csrf防护 */2、在登录页面加上一个隐藏域用于记录csrftoken(用来thymeleaf模板引擎)<input type="hidden" th:if="${_csrf}!=null" th:value="${_csrf.token}" name="_csrf">...

2021-01-15 10:50:31 472

原创 Spring Security自动登录笔记

一、Spring Security思想红色代表第一次登录自动保存token的流程蓝色代表关闭浏览器后第二次访问token的查找以及数据比对的流程二、实现自动登录1、在配置类中配置PersistentTokenRepository决定token数据的处理方式 //1、配置数据源 @Autowired private DataSource dataSource; //配置PersistentTokenRepository,该类用于配置token数据的处理方式 /

2021-01-15 10:11:57 117

原创 Spring Security权限配置

1、通过WebSecurityConfigurerAdapter配置类配置权限 public void configure(HttpSecurity httpSecurity) throws Exception {// httpSecurity.exceptionHandling().accessDeniedPage("/403"); /* 配置没有权限访问条状自定义页面 */ httpSecurity.authorizeRequests() /* 指定哪些ur

2021-01-14 15:59:57 851

原创 Spring Security登录注销配置

1、在继承了WebSecurityConfigurerAdapter的配置类中配置 public void configure(HttpSecurity httpSecurity) throws Exception { httpSecurity.formLogin() /* 自定义自己编写的登录界面 */ .loginPage("/login") /* 登录页面设置 */ .loginProcessingUrl

2021-01-14 10:34:48 157

原创 配置Spring Security的登录用户密码的三种方式

在这之前所需要的依赖以及其他配置maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency>

2021-01-13 09:54:55 1164

原创 Redis五大数据类型常用的指令

1、对于KEY的操作1)keys *keys *查看数据库种所有的键2)existsexists key的名字判断某个key是否存在(1为存在,0为不存在)3)movemove key db移动某个键到某个数据库中4)expireexpire key 秒钟设置key的过期时间默认单位为秒5)ttlttl key查看还有多少秒过期,-1表示永不过期,-2表示已过期6)typetype key查看key是什么类型的2、对于字符串的操作1

2021-01-10 16:26:22 253

原创 Redis杂项基本知识笔记

1、单进程Redis单进程模型来处理客户端的请求。对读写等事件的响应是通过对epoll函数的包装来做到的。Redis的实际处理速度完全依靠主进程的执行效率Epoll是Linux内核为处理大批量文件描述符而作了改进的epoll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。2、数据库Redis默认有16个数据库,数据库初始默认为0号库(即:下标为0)3、Select命令切换数据库select red

2021-01-09 15:27:59 53

原创 Redis服务启动与关闭

步骤1、如果要能看到redis进程首先修改redis.conf配置文件将no改成yes即可2、跳转到/usr/local/bin目录下,通过redis.conf配置文件启动redis服务redis-server redis配置文件位置3、测试redis的服务是否启动成功6379为redis默认端口redis-cli -p 端口号(默认就为6379)4、关闭redisshutdown...

2020-12-24 19:05:31 585 1

原创 Linux之RPM和YUM指令的使用笔记

RPM指令模块一、查看rpm1、查询所安装的所有rpm软件包rpm -qa演示2、查询软件包信息rpm -qi 软件包名演示3、查询软件包中的文件rpm -ql 软件包名演示4、查询文件所属的软件包rpm -qf 文件全路径名演示二、卸载RPMrpm -e RPM包的名称演示删除firefox三、安装RPM包rpm -ivh RPM包全路径名称演示安装firefoxYUM模块一、查询1、查询yum服务器是否有需要安装的软

2020-12-24 17:45:02 67

原创 Linux上安装Redis

步骤1、解压redis的安装包到/opt目录下2、通过tar指令redis安装包解压到/opt目录下3、进入解压好的redis文件目录下,并使用make指令开始安装如果出现一下错误则直接安装gcc即可yum install gcc出现以上问题二次make会出现则使用make distclean然后再次使用make安装4、安装完之后使用make install检查是否安装完成...

2020-12-24 17:40:53 53 1

原创 Linux之进程管理与服务管理指令笔记

ps指令基本语法ps 选项常用选项-a 显示当前终端所有信息-u 以用户的格式显示进程信息-x 显示后台进程运行的参数-e 显示所有进程-f 全格式功能描述查看进程状态应用演示SystemV展示风格USER:用户名称PID:进程号•%CPU:进程占用CPU的百分比%MEM:进程占用物理内存的百分比VSZ:进程占用的虚拟内存大小(单位:KB)RSS:进程占用的物理内存大小(单位:KB)TT:终端名称,缩写.STAT:进程状态,其中S-睡眠,s-表示该进程是会话

2020-12-20 16:12:58 73 1

原创 Linux之磁盘管理基本指令笔记

lsblk指令基本语法lsblk 选项常用选项-f:查看系统分区挂载情况功能描述查看当前系统的分区情况应用演示fdisk分区指令基本语法fdisk /dev/sdb功能描述将新添加的硬盘分区分区命令基本操作m显示命令列表p显示磁盘分区同 fdisk -ln新增分区d删除分区w写入并退出应用演示mkfs指令基本语法mkfs -t 分区类型 要格式化的磁盘功能描述将格式化磁盘应用演示mount与umount指令基本语法mount

2020-12-19 18:52:33 73 2

原创 Linux之crond任务调度笔记

crond指令基本语法crontab 选项常用选项-e 编辑crond 定时任务-l 查询crond任务-r 删除当前所有得crontab任务功能描述定时任务的设置应用演示1、添加简单的定时任务任务设置的参数说明*/1 * * * * ls -l /home/ > ls.txt1、占位符说明项目含义范围第一个*表示 一个小时的第几分钟0-59第二个*表示 一天中的第几小时0-23第三个*表示 一个月中的第几天1-

2020-12-16 16:19:39 71

原创 Linux之组管理和权限管理笔记

一、基本指令添加组基本语法groupadd 组名功能描述添加组实际演示将成员添加到组修改文件所有者基本语法chown 用户名 文件名chown 用户名:组名 文件名功能描述改变文件所有者改变用户的所有者和所有组实际演示修改文件所在的组基本语法chgrp 组名 文件名功能描述修改文件所在的组实际演示修改权限基本语法chmod u=rwx,g=rx,o=x 文件目录名chmod o+w 文件目录名chmod a-x 文件目录名chm

2020-12-11 16:48:22 73

原创 Linux之压缩和解压类

基本语法gzip文件gunzip文件.gz功能描述压缩文件,只能将文件压缩为*.gz文件解压缩文件命令实际演示基本语法zip 选项 XXX.zip将要压缩的内容unzip 选项 XXX.zip常用选项-r:递归压缩,即压缩目录功能描述压缩文件和目录的命令解压缩文件实际演示基本语法tar 选项 XXX.tar.gz 打包的内容常用选项-c:产生tar打包文件-v:显示详细信息-f:指定压缩后的文件名-z:打包同时压缩-x:解压.tar文件功

2020-12-05 21:55:56 75

MyBatis Generator帮助文档.rar

MyBatis Generator mbg逆向工程帮助文档~~~~~~~~~~~~~~~~~~~~~

2020-09-02

空空如也

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

TA关注的人

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